编辑ocaml文件(*.ml)时,每次使用<Leader>t
打开CommandT时,vim都会说"找不到类型注释(.annot)文件"。当我使用<Leader>s
切换Syntastic时,vim转到当前文件的接口文件(x.ml到x.mli)。
当我运行:map时,我看到了那些绑定:
x t @<Plug>OCamlPrintType
n t @<Plug>OCamlPrintType
n S @<Plug>OCamlSwitchNewWin
n s @<Plug>OCamlSwitchEdit
x C @<Plug>BUncomOff
n C @<Plug>LUncomOff
x c @<Plug>BUncomOn
n c @<Plug>LUncomOn
x <Plug>OCamlPrintType * :<C-U>call Ocaml_print_type("visual")<CR>`<
n <Plug>OCamlPrintType * :<C-U>call Ocaml_print_type("normal")<CR>
n <Plug>OCamlSwitchNewWin * :<C-U>call OCaml_switch(1)<CR>
n <Plug>OCamlSwitchEdit * :<C-U>call OCaml_switch(0)<CR>
然后我运行vim --noplugin
,这些映射仍然存在
在~/.vim/after/ftplugin/ocaml.vim
中,我只有一行设置ocaml缩进,所以问题一定在其他地方
创建这些绑定的原因是什么?我怎样才能关掉它们?
--noplugin
只需设置noloadplugins
选项。这个选项唯一能做的就是禁止从&runtimepath
加载plugin/
目录中的文件。
因此
-
如果这些映射是在
ftplugin/
目录中的某个位置定义的,并且您的vimrc中有filetype … on
,那么--noplugin
不会阻止它们被加载。具体地说,CCD_ 12定义在与Vim一起分布的ftplugin/ocaml.vim
中。您可以使用echo globpath(&runtimepath, 'ftplugin/ocaml*')
获取所有有
ocaml
ftplugin的地方。~/.vim/after
并不是ftplugin可能所在的唯一位置。 - 如果在你的vimrc中有
set loadplugins
行,那么--noplugin
是完全无用的,不会影响任何事情 - 它也不会对存储在
.vimrc
中的内容做任何事情