2010-09-18 89 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" 

我相信这会在你的情况下正常工作。