Vim奇怪的ocaml插件绑定甚至运行--noplugin

时间:2014-11-05 04:56:19

标签: vim ocaml

在编辑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缩进,因此问题必须在其他地方。
什么是创建这些绑定?我该如何关闭它们?

1 个答案:

答案 0 :(得分:1)

--noplugin除了设置noloadplugins选项之外什么都不做。此选项唯一能做的就是禁止从plugin/的{​​{1}}目录加载文件。

因此

  1. 如果这些映射是在&runtimepath目录中的某个位置定义的,并且您的vimrc中有ftplugin/,那么filetype … on将无法阻止它们被加载。具体而言--noplugin<Plug>OCamlPrintType 中定义,与Vim 一起分发。你可以使用

    ftplugin/ocaml.vim

    获取有echo globpath(&runtimepath, 'ftplugin/ocaml*') ftplugin的所有地方。 ocaml 不是唯一可以找到ftplugin的地方

  2. 如果您的vimrc中有~/.vim/after行,则set loadplugins完全没用,并且不会影响任何内容。
  3. 它对--noplugin中存储的内容也没有任何作用。