Vim-latex: Difference between revisions

From miki
Jump to navigation Jump to search
(Created page with "== General == * [http://vim-latex.sourceforge.net/documentation/latex-suite-quickstart.html quickstart] * [http://vim-latex.sourceforge.net/documentation/latex-suite.html manu...")
 
 
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
let g:Tex_DefaultTargetFormat = 'pdf'
let g:Tex_DefaultTargetFormat = 'pdf'
</source>
</source>

== Mappings ==
{| class="wikitable" width="100%"
|+Plugin - vim-latex
|-
|width="120px"|
{{kbctrl|m}}<br/>
{{kb|F5}}<br/>
{{kb|S-F5}}<br/>
{{kb|F7}}<br/>
{{kb|S-F7}}<br/>
EEQ ,eq<br/>
FSF `sf<br/>
{{kb|A-l}}<br/>
{{kb|A-b}}<br/>
{{kb|A-c}}<br/>
'''{{kb|A-o}}'''<br/>
{{kb|F6}} \rf<br/>
|
Jump to next<br/>
Insert/expand/enclose in environment<br/>
Change environment<br/>
Insert/expand/enclose in command<br/>
Change command<br/>
Insert / enclose in ''equation''<br/>
Insert / enclose in font ''\textsf{}''<br/>
Expand ([|{<q or label<br/>
Enclose in \\mathbf{}<br/>
\\mathcal{} or \\cite{}<br/>
Insert \\item{} (was {{kb|A-i}})<br/>
Refresh folds<br/>
|}


== Troubleshooting ==
== Troubleshooting ==
* Use {{kb|A-o}} to insert <code>\item\</code> instead of {{kb|A-i}}, because the latter collides with roman letter ''é''. Also remap {{kb|A-o}} such that it also works in the console (<code>^[o</code> is obtained via {{kb|C-v}}{{kb|C-o}}):
* Use {{kb|A-o}} to insert <code>\item\</code> instead of {{kb|A-i}}, because the latter collides with roman letter ''é''. Also remap {{kb|A-o}} such that it also works in the console (<code>^[o</code> is obtained via {{kb|C-v Esc C-o}}):
<source lang=diff>
<source lang=diff>
--- a/.vim/ftplugin/latex-suite/envmacros.vim
--- a/.vim/ftplugin/latex-suite/envmacros.vim
Line 63: Line 95:
</source>
</source>


* vim-latex creates automatically new folds for every itemize / enumeration / description blocks. This considerably slows down or blocks opening of beamer presentation that usually contains a lot of these blocks. Here a patch to disable this.
;Keyboard and shortcuts
<source lang=diff>
--- a/.vim/ftplugin/latex-suite/folding.vim
+++ b/.vim/ftplugin/latex-suite/folding.vim
@@ -237,16 +237,16 @@ function! MakeTexFolds(force)
" }}}
" {{{ items
- if g:Tex_FoldedMisc =~ '\<item\>'
- call AddSyntaxFoldItem (
- \ '^\s*\\item',
- \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
- \ 0,
- \ -1,
- \ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
- \ '^\s*\\end{\(enumerate\|itemize\|description\)}'
- \ )
- endif
+ " if g:Tex_FoldedMisc =~ '\<item\>'
+ " call AddSyntaxFoldItem (
+ " \ '^\s*\\item',
+ " \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
+ " \ 0,
+ " \ -1,
+ " \ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
+ " \ '^\s*\\end{\(enumerate\|itemize\|description\)}'
+ " \ )
+ " endif
" }}}
" {{{ title
</source>

== Keyboard and shortcuts ==
{| class=wikitable
{| class=wikitable
|-
|-

Latest revision as of 14:50, 8 April 2023

General

Configuration

  • To select pdf as default compile format, add to file .vim/ftplugin/tex.vim:
" Set default compile target type as 'pdf'
let g:Tex_DefaultTargetFormat = 'pdf'

Mappings

Plugin - vim-latex

^m
F5
S-F5
F7
S-F7
EEQ ,eq
FSF `sf
A-l
A-b
A-c
A-o
F6 \rf

Jump to next
Insert/expand/enclose in environment
Change environment
Insert/expand/enclose in command
Change command
Insert / enclose in equation
Insert / enclose in font \textsf{}
Expand ([|{<q or label
Enclose in \\mathbf{}
\\mathcal{} or \\cite{}
Insert \\item{} (was A-i)
Refresh folds

Troubleshooting

  • Use A-o to insert \item\ instead of A-i, because the latter collides with roman letter é. Also remap A-o such that it also works in the console (^[o is obtained via C-v Esc C-o):
--- a/.vim/ftplugin/latex-suite/envmacros.vim
+++ b/.vim/ftplugin/latex-suite/envmacros.vim
-               imap <buffer> <M-i> <Plug>Tex_InsertItemOnThisLine
+               imap <buffer> <M-o> <Plug>Tex_InsertItemOnThisLine
+               set <M-o>=^[o
  • My .vimrc configuration:
"############################################################################################################
" VIM-LATEX
"############################################################################################################

" 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 sometimes skip displaying the file name if you
" search in a singe file. This will confuse Latex-Suite. Set your grep
" program to always generate a file-name.
set grepprg=grep\ -nH\ $*

" OPTIONAL: This enables automatic indentation as you type.
filetype indent on

" OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
" 'plaintex' instead of 'tex', which results in vim-latex not being loaded.
" The following changes the default filetype back to 'tex':
let g:tex_flavor='latex'

" Use <C-l> for jump formward instead of <C-J>
imap <C-l> <Plug>IMAP_JumpForward
nmap <C-l> <Plug>IMAP_JumpForward
vmap <C-l> <Plug>IMAP_JumpForward
  • To have a LaTeX file compile with XeLaTeX automatically:
:let g:Tex_CompileRule_pdf = 'xelatex -interaction=nonstopmode '
  • In multiple file setup, touch file main.tex.latexmain to indicate vim-latex that main.tex is the main file and should always compile this file, independently of what file is currently edited. See also variable Tex_MainFileExpression (see manual):
let g:Tex_MainFileExpression = 'MainFile(modifier)'
  • vim-latex creates automatically new folds for every itemize / enumeration / description blocks. This considerably slows down or blocks opening of beamer presentation that usually contains a lot of these blocks. Here a patch to disable this.
--- a/.vim/ftplugin/latex-suite/folding.vim
+++ b/.vim/ftplugin/latex-suite/folding.vim
@@ -237,16 +237,16 @@ function! MakeTexFolds(force)
        " }}}
 
        " {{{ items
-       if g:Tex_FoldedMisc =~ '\<item\>'
-               call AddSyntaxFoldItem (
-                       \ '^\s*\\item',
-                       \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
-                       \ 0,
-                       \ -1,
-                       \ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
-                       \ '^\s*\\end{\(enumerate\|itemize\|description\)}'
-                       \ )
-       endif
+       " if g:Tex_FoldedMisc =~ '\<item\>'
+       "       call AddSyntaxFoldItem (
+       "               \ '^\s*\\item',
+       "               \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
+       "               \ 0,
+       "               \ -1,
+       "               \ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
+       "               \ '^\s*\\end{\(enumerate\|itemize\|description\)}'
+       "               \ )
+       " endif
        " }}}
 
        " {{{ title

Keyboard and shortcuts

command description
o keyword F5 Insert environment keyword
amsmathF5
i EFL Insert environment flushleft Expand the 3-letter sequence EFL. Equivalent to i flushleft F5
v select text ,fl Enclose selected text in environment flushleft.
S-F5 Change enclosing environment
F7 Insert command
S-F7 Change enclosing command
\ll Compile
\lv View compiled file
command description
(insert mode) C-u Go to next placeholder
amsmathF5sumlimits,C-u
(insert mode, eqn context) ^^ Quick exponent (template e^{}<++>)
eqnarrayF5e^^j
(insert mode, eqn context) __ Quick subscript (template e_{}<++>
eqnarrayF5a__i
Auc-Tex Key Binding description
`p \pi
`8 \infty
`/ \frac
`% \frac
`0 ^\circ