2010-09-18 11 views
7

Ho appena iniziato a utilizzare Vim-LaTeX.Come posso compilare correttamente vim-latex senza dover salvare?

L'output predefinito dvi non ha funzionato per me, così ho cambiato il default per pdf aggiungendo "let g:Tex_DefaultTargetFormat = 'pdf'" al mio tex.vim.

L'unico problema è che è necessario prima salvare il documento (:w) prima di compilarlo (\ll) e visualizzare in Evince (\lv). Se non lo salvo, ed eseguo \ll e \lv, il latex viene eseguito sul file salvato prima di iniziare a modificarlo e non sul buffer contenente il mio file modificato.

Come faccio a fare in modo che vim salva il mio file e compila il mio documento quando raggiungo lo \ll? Grazie!

risposta

9

questa non è la soluzione perfetta ma funzionerà, definire una nuova mappa nella vostra Vimrc:

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

questo funziona, ma ci dovrebbe esistere un modo più pulito di fare questo.

+0

Ottimo! Questo funziona. Forse c'è un modo più pulito per farlo ... o forse il mio Latex non è configurato correttamente sul mio sistema. Ma questo risolve il mio problema! Grazie! – hwong557

+2

questo rende vim compilare in modalità di inserimento e poi ritorna il cursore indietro dove era appena prima di colpire : imap : w ll un –

1

Da allora mi sono spostato dalla suite di lattice e ora sto usando latexmk che funziona davvero bene.

1

Questo fa esattamente quello che hai chiesto. Aggiungere quanto segue al .vimrc o equivalente:

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 vostro comando dovrebbe essere:

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>') 

per quanto ne so, " sono utilizzati per i commenti in vim.

+0

'" 'sembra anche essere usato per le stringhe (http: // learnvimscriptthehardway .stevelosh.com/capitoli/26.html) – brixenDK

0

Si può provare: -

:w | !pdflatex "filename" 

Credo che questo funzionerà bene nel vostro caso.

Problemi correlati