Reputation: 111
I installed Latex-Suite for Vim, and I like it very much, but I'd like to be able to customize the environment mappings that came by default, and add new ones. For example I want to edit the equation environment that appears typing EEQ
and move around some elements, like the \label{}
command. How can I do this? I've been scanning everything inside my /usr/share/vim/vimfiles/ftplugin
but I can't find a way to do it (or I just don't understand what those files are).
Upvotes: 1
Views: 446
Reputation: 1661
You want to check out the documentation on Macro Customisation, specifically the Tex_Env_{name}
bit.
In short, if you want your theorem snippet to look like
\begin{theorem}
<++>
\end{theorem}<++>
then you want a line like
let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}"
in your vimrc. Note the backslashes to escape carriage-return, and double-backslash for normal backslashes.
The <F5>
functionality (press F5 after typing an environment name, i.e. figure<F5>
) should work out of the box, but you may need to refresh the three-letter code. This is more hassle than it needs to be, but something like
autocmd BufNewFile,BufRead *.tex call IMAP('EFI', g:Tex_Env_figure,'tex')
will do the job.
Upvotes: 1
Reputation: 2559
The answer to the question you asked comes with a caveat, which is that Latex-Suite is an enormous amount of code that is very hard and annoying to modify, and which does not play nicely with other plugins. This falls into Latex-Suite's philosophy that it's the only plugin you need for editing latex within vim.
That said, you want to look in /path/to/ftplugin/latex-suite/envmacros.vim
. Searching for EEQ
will lead you on the path to understanding the set of calls that latex-suite performs. I would like to reiterate that many functions are deeply intertwined.
On the other hand, there is a very easy way to have very easily customizable environments, which are snippets. See the UltiSnips page for a good example of how this works. These are designed for customization and extremely easy to write.
Upvotes: 0