I use vim (and the vim latex-suite) to edit latex documents. Something that occurs frequently is the need to change an inline equation into a displayed equation, as follows. I start with:
The most important equation is \(f(x)=x^2,\) but most disagree.
and end with:
The most important equation is
\begin{equation*}
f(x)=x^2,
\end{equation*}
but most disagree.
With the cursor on the "=" I'm happy to call a function to achieve the result, and I can probably figure out how to edit the indentation and spacing on my own, so it would be sufficient to output
The most important equation is
\begin{equation*}
f(x)=x^2,
\end{equation*}
but most disagree.
Ideally, a function that works in the opposite direction (displayed equation to inline equation) would be great too, but first things first. FWIW, I'm using the surround.vim plugin, which seems great for surrounding text in \( \), but I'm not sure if it can be used to detect/highlight a latex equation. It seems to have this feature for HTML tags, but I haven't seen it implemented for latex. Any help would be greatly appreciated.
[EDIT:]
To clarify what I'm looking for, I'd say it's whether or not surround.vim can be used for custom asymmetric quote/bracket detection. Here's what I know how to do. In my ~/.vimrc file, I have the line
autocmd FileType tex let b:surround_101 = "\\(\r\\)"
Then when I'm editing a tex file and I have the following:
This is a $word in$ a some text.
[ ]
I can type in normal mode:
cs$e
and I get
This is a \(word in\) a some text.
[ ]
Similarly, if I have
This is a <p>word in</p> a some text.
[ ]
I can type in normal mode:
cste
and I get
This is a \(word in\) a some text.
[ ]
What I'd like to do is go from this:
This is a \(word in\) a some text.
[ ]
to this:
This is a \foo word in \bar a some text.
[ ]
I'd like to know if this is possible with surround.vim. For example, on this:
This is a \(word in\) a some text.
[ ]
I tried
cse$
but that didn't change \(word in\) to $word in$ as I had hoped. If this is not possible to do with surround.vim, it would be a shame, since it already has the exact functionality for HTML tags that I want for latex equations, so it seems like I'd have to recode the same functionality for latex equations from scratch.