2010-09-18 29 views
7

我剛開始使用Vim-LaTeX如何讓vim-latex正確編譯而不必保存?

默認dvi輸出不適合我,所以我通過將"let g:Tex_DefaultTargetFormat = 'pdf'"添加到我的tex.vim,將默認值更改爲pdf

唯一的問題是我需要在編譯之前(\ll)首先保存我的文檔(:w)並在Evince(\lv)中查看。如果我不保存它,然後運行\ll\lv,則在我開始編輯它之前,在保存的文件上運行latex,而不是在包含我的編輯文件的緩衝區上運行latex。

如何讓vim保存我的文件並在我點擊\ll時編譯我的文檔?謝謝!

回答

9

這不是完美的解決方案,但它會工作, 在.vimrc定義一個新的地圖:

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

這個工作,但也應該存在這樣做的更清潔的方式。

+0

太棒了!這工作。也許有一個更清潔的方式來做到這一點...或者,也許我的Latex在我的系統上配置錯誤。但是這解決了我的問題!謝謝! – hwong557 2010-09-21 03:56:15

+2

這使Vim在插入模式下進行編譯,然後返回光標回到了它只是擊中之前爲:IMAP :W LL 一個 – 2013-03-30 21:07:14

1

我已經從乳膠套裝上移開了,現在我使用的latexmk工作得很好。

1

這具體是什麼你問。以下內容添加到您的.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你的命令應該是:

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

據我所知,"用於vim的意見。

+0

'「'似乎也用於字符串(HTTP:// learnvimscriptthehardway .stevelosh.com /章節/ 26.html) – brixenDK 2014-06-06 12:15:09

0

您可以嘗試: -

:w | !pdflatex "filename" 

我相信這會在你的情況下正常工作。