editing latex in vim : how to change text to math mode
Asked Answered
S

3

9

I am using vim-latexsuite to edit a latex file. The text is originally from google doc and there are many math symbols not written in math mode.

I have to add $ before and after each symbol. But that is painful. (Search/Replace does not work because some equation patterns are complicated.)

Is there a way that allows me to visually select the symbols or equestions using Ctrl-V in visual mode, then after pressing the key, the $ can be automatically added before and after the visual selection?

Sherwin answered 2/12, 2012 at 5:48 Comment(0)
T
9

I don't think there is any standard command for this, but you can use the surround.vim plugin to do this:

http://www.catonmat.net/blog/vim-plugins-surround-vim/

The command is csW$ to surround the current text with $

Typewriter answered 2/12, 2012 at 5:59 Comment(2)
I love surround.vim. Note if you already have a selection you can just key s$ to surround with $. And since c, s, W, and $ are all keyed with the left hand, I'd use ysiw$ to surround the word the cursor is on with $ (it has a nice back-and-forth drumming motion). Or combine either with a macro and you're set!Sagerman
For me, it's not csW$ but cSW$ (note the capital S) to surround text with the dollar sign $. When erroneously using lower case s, text gets deleted. See also: #13498490Flaxman
B
3

There actually is a standard command for this built into vim-latexsuite. See the vim-latex docs for macros here.

In addition the visual mode macros are provided:

    `(  encloses selection in \left( and \right)
    `[  encloses selection in \left[ and \right]
    `{  encloses selection in \left\{ and \right\}
    `$  encloses selection in $$ or \[ \] depending on characterwise or
                                          linewise selection
Benbow answered 6/10, 2013 at 18:53 Comment(0)
L
2

You can record a macro to do this.

With a visual selection, do this:

qq – record macro in register q

c – change the content of the visual selection

$$Esc – insert $$

P – paste the original text between the $s (note it's a capital P)

q – stop recording the macro

From then on, you can make your visual selection and just run @q.

Lindsay answered 2/12, 2012 at 20:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.