This plugin provides text objects for common LaTeX stuff that are not conveniently described by builtin Vim text objects.
Currently supported text objects are:
| a | i | Description |
| a\ | i\ | Inline math surrounded by \( and \). |
| a$ | i$ | Inline math surrounded by dollar signs. |
| aq | iq | Single-quoted text `like this'. |
| aQ | iQ | Double-quoted text ``like this''. |
| ae | ie | Environment \begin{…} to \end{…} |
Let █ be the position of the cursor.
Start with this:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``quick'' brown fox jumped█
over the ``lazy'' dog
\(\sum_i n_i\) times this month
where \(n_i\) is the number of jumps
on day $i$.
\end{minipage}
\end{frame}
\end{document}
Press >ae to indent the minipage:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``quick'' brown fox jumped█
over the ``lazy'' dog
\(\sum_i n_i\) times this month
where \(n_i\) is the number of jumps
on day $i$.
\end{minipage}
\end{frame}
\end{document}
Press Fq and then gUiQ to convert
the double-quoted text to uppercase:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``█QUICK'' brown fox jumped
over the ``lazy'' dog
\(\sum_i n_i\) times this month
where \(n_i\) is the number of jumps
on day $i$.
\end{minipage}
\end{frame}
\end{document}
Press jj and then ci\ to start changing the equation:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``QUICK'' brown fox jumped
over the ``lazy'' dog
\(█\) times this month
where \(n_i\) is the number of jumps
on day $i$.
\end{minipage}
\end{frame}
\end{document}
Type something, then <Esc> and jjh:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``QUICK'' brown fox jumped
over the ``lazy'' dog
\(n_1 + \cdots + n_30\) times this month
where \(n_i\) is the number of jumps
on day $i$█.
\end{minipage}
\end{frame}
\end{document}
da$, B and p moves the equation
before its preceding word:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``QUICK'' brown fox jumped
over the ``lazy'' dog
\(n_1 + \cdots + n_30\) times this month
where \(n_i\) is the number of jumps
on $i$█day .
\end{minipage}
\end{frame}
\end{document}
i, -th, <Esc>f<Space>x and you're done:
\begin{document}
\begin{frame}{Example}
\begin{minipage}[t]{0.4\textwidth}
The ``QUICK'' brown fox jumped
over the ``lazy'' dog
\(n_1 + \cdots + n_30\) times this month
where \(n_i\) is the number of jumps
on $i$-th day.█
\end{minipage}
\end{frame}
\end{document}
Textobj-latex depends on Kana's textobj-user, so you have to install it first.
If you use Vundle, add the following lines to your .vimrc:
Bundle 'kana/vim-textobj-user' Bundle 'rbonvall/vim-textobj-latex'
and then run :BundleInstall from within Vim.
If you use Pathogen, clone both repos in your bundle directory:
cd ~/.vim/bundle git clone git://github.com/kana/vim-textobj-user git clone git://github.com/rbonvall/vim-textobj-latex
If you don't use either: you should.
I have included dependency information for Vim Addon Manager and Vim Flavor, but have made no effort whatsoever to test if they work properly.
Roberto Bonvallet <rbonvall@gmail.com>
Same terms as Vim itself.