我使用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>
命令将按预期工作。
答案 0 :(得分:0)
You should use :noremap
;它使映射不受重映射和递归的影响。
显然,Voom定义了<C-u>
映射,而你的:map
命令使用了它,并且它对它们造成了严重破坏。