在编辑ocaml文件(* .ml)文件时,每次使用<Leader>t
打开CommandT时,vim都会说&#34;找不到类型注释(.annot)文件&#34;。当我使用<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缩进,因此问题必须在其他地方。
什么是创建这些绑定?我该如何关闭它们?
答案 0 :(得分:1)
--noplugin
除了设置noloadplugins
选项之外什么都不做。此选项唯一能做的就是禁止从plugin/
的{{1}}目录加载文件。
因此
如果这些映射是在&runtimepath
目录中的某个位置定义的,并且您的vimrc中有ftplugin/
,那么filetype … on
将无法阻止它们被加载。具体而言--noplugin
在<Plug>OCamlPrintType
中定义,与Vim 一起分发。你可以使用
ftplugin/ocaml.vim
获取有echo globpath(&runtimepath, 'ftplugin/ocaml*')
ftplugin的所有地方。 ocaml
不是唯一可以找到ftplugin的地方。
~/.vim/after
行,则set loadplugins
完全没用,并且不会影响任何内容。--noplugin
中存储的内容也没有任何作用。