如何使vim latex正确编译而不必保存?
我刚开始使用如何使vim latex正确编译而不必保存?,vim,latex,Vim,Latex,我刚开始使用Vim-LaTeX 默认的dvi输出不适用于我,因此我将默认设置更改为pdf,方法是在我的Tex.vim中添加“let g:Tex\u DefaultTargetFormat='pdf' 唯一的问题是我需要先保存文档(:w),然后再编译它(\ll)并在evice中查看(\lv)。如果我不保存它,并运行\ll和\lv,则在开始编辑保存的文件之前,latex将在该文件上运行,而不是在包含已编辑文件的缓冲区上运行 当我点击\ll时,如何使vim保存我的文件并编译我的文档?谢谢 这不是一个完
Vim-LaTeX
默认的dvi
输出不适用于我,因此我将默认设置更改为pdf
,方法是在我的Tex.vim
中添加“let g:Tex\u DefaultTargetFormat='pdf'
唯一的问题是我需要先保存文档(:w
),然后再编译它(\ll
)并在evice中查看(\lv
)。如果我不保存它,并运行\ll
和\lv
,则在开始编辑保存的文件之前,latex将在该文件上运行,而不是在包含已编辑文件的缓冲区上运行
当我点击
\ll
时,如何使vim保存我的文件并编译我的文档?谢谢 这不是一个完美的解决方案,但会奏效,
在.vimrc中定义一个新映射:
map <f2> :w<cr><leader>ll
map:wll
这是可行的,但应该有一种更干净的方法来做到这一点。我已经从latex suite开始使用,现在我正在使用latexmk,它工作得非常好。这确实符合您的要求。将以下内容添加到
.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>')
autocmd文件类型tex call tex_MakeMap(“ll”,“:w tex_Compile”,“n”,”)
autocmd文件类型tex call tex_MakeMap(“ll”,“:w tex_Compile”,“v”,”)
您的命令应该是:
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>')
autocmd文件类型tex call tex_MakeMap('ll',':update!:call tex_RunLaTeX()','n','')
autocmd文件类型tex call tex_MakeMap('ll',':update!:call tex_RunLaTeX()','v','')
好的,“
用于vim中的注释。您可以尝试:-
:w | !pdflatex "filename"
我相信这在您的情况下会很好。太好了!这很有效。也许有一种更干净的方法可以做到这一点……或者可能我的Latex在我的系统上配置错误。但这解决了我的问题!谢谢!这使vim以插入模式编译,然后将光标返回到点击:imap:wlla
之前的位置。”
似乎也用于字符串()