带有VOoM和LaTeX-Suite插件的Vim会导致奇数键映射行为

时间:2014-07-14 02:52:21

标签: vim vim-plugin latex-suite

我使用latex-suite编写.tex个文件。要在默认编译器(pdflatex)和xelatex之间轻松切换,我在_vimrc文件中有以下脚本。

function SetXeLaTeX()
    let g:Tex_CompileRule_pdf = 'xelatex --interaction=nonstopmode -synctex=1 -src-specials $*'
endfunction
map <Leader>lx :<C-U>call SetXeLaTeX()<CR>

所以在Vim中,我通常可以使用\lx来调用SetLaTeX()函数。实际上,我有其他键绑定的类似脚本,例如pdflatex的\lp和arara的\la

在调用Voom outline命令之前,一切正常。

运行命令:Voom latex并生成Voom大纲文件.tex_VOOM1.tex文件后,所有这些键映射(\lx\lp和{{ 1}})开始表现得很奇怪:

他们不再调用我的自定义函数,而是全部触发字符式可视模式。

似乎某种程度上\la重新映射了我的所有命令。我不能通过运行

来覆盖它
Voom
在Vim当前会话中的

命令。

有谁可以告诉我究竟是什么问题?如何解决这个奇怪的问题?

更新

奇怪的是,我发现如果在自定义函数中删除:map <Leader>lx :<C-U>call SetXeLaTeX()<CR> 键,则不会遇到错误行为。在此调整之后,<C-U>命令将按预期工作。

1 个答案:

答案 0 :(得分:0)

You should use :noremap;它使映射不受重映射和递归的影响。

显然,Voom定义了<C-u>映射,而你的:map命令使用了它,并且它对它们造成了严重破坏。