37

I will not provide an in-depth comparison, as I only have limited experience with the different plugins. I know a couple of plugins well (LaTeX-Box and LaTeX-Suite), and I know one plugin very well, since I am developing it myself: vimtex. Thus, I will mostly write about vimtex. However, I will first point out some references that might be of interest to ...


13

I can't do comparison, as Vim-LaTeX is the only LaTeX plugin I've used. I have been using Vim-LaTeX for almost a year. So I will talk about Vim-LaTeX alone. There are many features present in Vim-LaTeX. I don't remember all of them. I'll just talk about features that I know and use constantly. Note: These are my limited user experience, which may be very ...


6

Honza's UltiSnips Snippet gentbl<number>x<number> available in the repository https://github.com/honza/vim-snippets/blob/master/UltiSnips/tex.snippets Using this snippet which uses the python interpolation feature of UltiSnips, you can enter e.g. gentbl5x3<tab> which will expand to \begin{tabular}{||||} & & \\ & &...


5

This functionality comes from the internal LaTeX plugin. See :h tex-conceal and :h g:tex_conceal. You can turn it off either by setting conceallevel=0 or by letting g:tex_conceal=''. To be more precise, you can use either of the following lines in your vimrc file: let g:tex_conceal = '' set conceallevel = 0 I propose that you read :h conceallevel before ...


5

I can not answer your question regarding vim-latex (aka LaTeX-Suite), however, I can recommend two plugins that provide good label and bibliography completion: vimtex Vimtex is a simple and lightweight LaTeX plugin for vim that is initially based on LaTeX-Box. The code is now very much diverged from LaTeX-Box, and the plugin is IMHO better maintained and ...


5

The reason this is happening is because the indentexpr [1] prefers text to be indented inside \items. You can see this by pressing gg=G. This is what it considers correct indenting: \begin{document} \begin{itemize} \item Here is an equation: \begin{align*} x = y \end{align*} \item Here is another item \end{itemize} \end{...


5

You could probably implement this as a snippet by leveraging Ultisnips's Interpolation feature (VimCasts demo). As an alternative, I whipped up a simplistic function to generate a matrix template on the current line per your sample: function! CreateMatrix(rows, ...) abort let cols = a:0 ? a:1 : 3 let matrix = ['\begin{bmatrix}'] call extend(matrix, ...


5

Installation into a Vim 8 packpath and an example vimrc ❯ git clone https://github.com/vim-latex/vim-latex ~/.vim/pack/my_latex_plugins/start/vim-latex Typically, you want at least following settings in your vimrc ❯ cat ~/.vim/vimrc filetype plugin on filetype indent on let g:tex_flavor='latex' A minimal installation would look like visualized with tree: ...


4

I'll give an answer, but not the one you are looking for. Hopefully, you will find it even better. Note that it does rely on you installing a plugin. First, what you are trying to do is to simplify the process of creating a new theorem environment. You want to apply a template and to fill out some parts automatically. You are in luck, because this is the ...


4

If you use a nore mapping to tie a sequence of keys to <plug>something, even if there is a mapping behind that <plug>something, it'll be ignored. In the documentation, nore is said to prevent recursion. That's what is happening here. That means that: the <plug>something mapping shall indeed be defined with noremap, but the actual ...


4

While infuriating, a number of vim-latex's features can be customised without editing the source code. Disable the EEA mapping In .vim/after/ftplugin/tex.vim, add call IMAP('EEA', 'EEA', 'tex') Typing EEA in insert mode will no longer insert the eqnarray environment. F5 prompted environments In .vim/ftplugin/tex/texrc, add: let g:...


4

This is actually a complicated matter. $...$ is a difficult construct to parse, because it has no clear beginning or end. That is, in math here? $ or math here? $ math here?, how do you know which region is really a math region? You need to search further back to know. However, there are some possibilities. In particular, I would take advantage of the fact ...


4

The problem is that the subscript for g doesn't exist, and those for h and i look "off." As noted, you can either turn off the conceal feature altogether (set conceallevel=0) turn off conceal in tex files just for these kinds of things (let g:tex_conceal = 'abdmg')—see :help g:tex_conceal


3

Disclaimer: I'm the author of vimtex. You should not use both vimtex and vim-latex at the same time. They are filetype plugins that try to implement the same set of features, at least partially. For some more information about the difference between the plugins, you can read some of the answers here: What are the differences between LaTeX plugins? That ...


3

This seems to be a known issue, see the comment in ftplugin/latex-suite/envmacros.vim: " Only include the <M-i> mapping if the user want this. Note that it " conflicts with inserting 'é'. if !hasmapto("<Plug>Tex_InsertItemOnThisLine", "i") && g:Tex_AdvancedMath == 1 imap <buffer> <M-i> <...


3

This is a question that is difficult to write a very rigorous answer to. But I find it easy to state that the prospects are not quite good. At least not if you try to include the corner cases. As you say, you must identify periods and punctuations, but you should also parse many macros, such as \emph{...}, and you should parse stuff like some text {\macro ...


3

Your problem has nothing to do with jedi-vim. It has to do with vim-latex using the conceal feature of gVim, where some parts of text are replaced by (supposedly better) graphic representations when you aren't editing the corresponding lines. In your case a superscript is replaced, but IIRC vim-latex does that with many other things, such as Greek letters ...


3

Google is your friend. Specifically, Google's cache: Make sure that you create a few necessary settings in your ~/.vimrc. " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file. filetype plugin on " IMPORTANT: win32 users will need to have 'shellslash' set so that latex " can be called correctly. set shellslash " IMPORTANT: grep will ...


3

This is a part of standard filetype plugin, see :h tex.vim for a complete info. That particular feature is controlled by :h g:tex_conceal So it's enough to add let g:tex_conceal = '' to your vimrc (or to disable only ligatures and accents: let g:tex_conceal = 'dmgs', i.e. no 'a' in tex_conceal's value).


3

This sent me on quite the archeological mission... It turns out this syntax worked on Vim 6.3.82 (from CentOS 4) but didn't work anymore on Vim 7.0.237 (from CentOS 5.) The commits that introduced the feature and documented it in vim-latex are from September 2003, which is around the time of Vim 6. (Vim 6 was released on September 2001 and Vim 7 on May ...


3

1. Try to replicate issue with clean vim vim --clean :set keymap=russian-jcukenmac If you are able to enter letter ю, something is wrong with your vimrc 2. Check what is in your keymap file Open :e $VIMRUNTIME/keymap/russian-jcukenmac.vim and find letter ю. Make sure it is correctly mapped: . ю CYRILLIC SMALL LETTER YU


2

I took time to install vim-latexsuite and I can confirm that my comment was right: you simply have to execute :set iskeyword+=. to make completion work. To avoid executing this function on each latex file you edit you can add the following line setlocal iskeyword+=. To the syntax file .vim/ftplugin/tex.vim


2

vim-latexsuite is a very good addition for writing LaTeX documents and will handle spell checking as you want it to. Meaning, ignore equasions in spell checking and it also does a lot of other great stuff.


2

Your updated findings give it away: The Latex plugin (incorrectly, that's why :inoremap causes the addition of a *) parses the output of the :iab command in s:LookupCharacter(char) from plugin/imaps.vim: " An extremeley wierd way to get around the fact that vim " doesn't have the equivalent of the :mapcheck() function for ...


2

I am not quite sure, however there is something strange with your system() call. You do: let retval = system(latex_path."/outline.py". shellescape(fname) . shellescape (leader) Note, that you do concat the filename to the python script without spaces, so you call ~/vim/ftplugin/latex-suite/outline.pymyfile.texleader which most likely does not make sense. ...


2

This is a shell command run with :silent! !okular [..] in the Tex_ForwardSearchLaTeX() function (ftplugin/latex-suite/compiler.vim). It looks like okular is printing some text to stdout or stderr – the silent! command only silences Vim :echo and :echoerr messages, not stdout from external programs. To fix this you'll need to add something like >/dev/...


2

Your problem is that you are using inoremap <C-A> <Plug>InsertComment That basically means, that recursive resolution of your mapped keys is prevented which is usually not what you want. Therefore change your mapping to imap <C-A> <Plug>InsertComment See also the extensive help (Start reading from the paragraph that starts with ...


2

All you have to do to install vim-latex manually is download the tarball and extract it in your vimfiles or .vim directory. The .vimrc and the tex.vim files will change some latex settings, but do not effect installation. vim-latex recommends using a plugin manager like pathogen or Vundle to install vim-latex. You can install pathogen and then enter cd ~...


2

When you read the error message you can see that the problem comes from ~/.vim/bundle/LaTeX-Suite-aka-Vim-LaTeX/plugin/remoteOpen.vim on line 33. This line is the following: com -nargs=1 RemoteOpen :call RemoteOpen('<args>') It uses :h :command to create the user defined command :RemoteOpen. What Vim says is Command already exists: add ! to replace ...


2

I have written a code that is pretty similar to the :only command. But it closes also unsaved buffers. It keeps the only the active window in the current tab. function! CloseAllWindowsButCurrent() let tabnr= tabpagenr() let tabinfo=gettabinfo(tabnr) let windows=tabinfo[0]['windows'] for winid in windows let curwin=winnr() "could change let ...


Only top voted, non community-wiki answers of a minimum length are eligible