2010-09-18 16 views
7

Acabo de empezar a usar Vim-LaTeX.¿Cómo puedo hacer que vim-latex compile correctamente sin tener que guardar?

La salida predeterminada dvi no funcionó para mí, así que cambió el valor predeterminado a pdf añadiendo "let g:Tex_DefaultTargetFormat = 'pdf'" a mi tex.vim.

El único problema es que necesito guardar mi documento primero (:w) antes de compilarlo (\ll) y verlo en Evince (\lv). Si no lo guardo, y ejecuto \ll y \lv, latex se ejecuta en el archivo guardado antes de comenzar a editarlo, y no en el buffer que contiene mi archivo editado.

¿Cómo hago para que vim guarde mi archivo y compile mi documento cuando toco \ll? ¡Gracias!

Respuesta

9

esta no es la solución perfecta pero funcionará, definir un nuevo mapa en su .vimrc:

map <f2> :w<cr><leader>ll 

esto funciona, pero no debería existir una forma más limpia de hacer esto.

+0

¡Estupendo! Esto funciona. Tal vez haya una forma más limpia de hacer esto ... o tal vez mi Latex está mal configurado en mi sistema. ¡Pero esto resuelve mi problema! ¡Gracias! – hwong557

+2

esto hace que vim compilar en el modo de inserción y devuelve el cursor hacia atrás donde estaba justo antes de golpear : IMAP : w ll un –

1

Desde entonces, he pasado de latex suite y ahora estoy usando latexmk, que funciona muy bien.

1

Esto hace específicamente lo que usted pidió. Añadir lo siguiente a su equivalente o .vimrc:

autocmd FileType tex call Tex_MakeMap("<Leader>ll", ":w <CR> <Plug>Tex_Compile", 'n', '<buffer>') 
autocmd FileType tex call Tex_MakeMap("<Leader>ll", "<ESC> :w <CR> <Plug>Tex_Compile", 'v', '<buffer>') 
1

@dc46and2 El comando debe ser:

autocmd FileType tex call Tex_MakeMap('<leader>ll', ':update!<CR>:call Tex_RunLaTeX()<CR>', 'n', '<buffer>') 
autocmd FileType tex call Tex_MakeMap('<leader>ll', '<ESC>:update!<CR>:call Tex_RunLaTeX()<CR>', 'v', '<buffer>') 

yo sepa, " se utilizan para comentarios en vim.

+0

'" 'También parece ser utilizado para cuerdas (http: // learnvimscriptthehardway .stevelosh.com/chapters/26.html) – brixenDK

0

Usted puede tratar de: -

:w | !pdflatex "filename" 

creo que esto va a funcionar bien en su caso.

Cuestiones relacionadas