2014-11-05 1 views
0

ocaml 파일 (* .ml) 파일을 편집하는 동안 <Leader>t을 사용하여 CommandT를 열 때마다 vim은 "No type annotation (.annot) file found"라고 말합니다. <Leader>s을 사용하여 Syntax를 토글 할 때, vim은 현재 파일 (x.ml에서 x.mli)의 인터페이스 파일로 이동합니다.Vim strange ocaml 플러그인 바인딩도 --noplugin을 사용하여 실행합니다.

내가 실행하면 :지도, 내가 본 그 바인딩 :

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

': 자세한 정보 표시 \ t'는 매핑이 설정된 위치를 알려줍니다. 설정을 보여주지 않으면 우리가 할 수있는 것이 전부입니다. – romainl

+1

@romainl Vim과 함께 배포되는 파일 형식 플러그인을 확인할 수 있습니다. 이러한 매핑이 있습니다. – ZyX

답변

1

--noplugin은 아무것도 설정하지 않고 noloadplugins 옵션을 설정합니다. 이 옵션이 수행하는 유일한 작업은 plugin/ 디렉토리의 파일로드가 비활성화되어 &runtimepath 인 것입니다. 이러한 매핑은 ftplugin/ 디렉토리에 어딘가에 정의하고 다음 --noplugin가로드되는 것을 방지 할 수 없습니다 귀하의 vimrc에 filetype … on이있는 경우 따라서

  1. . 특히 <Plug>OCamlPrintType은과 함께 배포되는 ftplugin/ocaml.vim에 정의됩니다. ocaml ftplugin이있는 곳 당신은 모든 장소를 얻기 위해

    echo globpath(&runtimepath, 'ftplugin/ocaml*') 
    

    를 사용할 수 있습니다. ~/.vim/after은 ftplugin이있는 유일한 장소가 아닙니다..

  2. vimrc에 set loadplugins 라인이 있다면 --noplugin은 전혀 쓸모가 없으며 아무런 영향을 미치지 않습니다.
  3. .vimrc에 저장된 내용에는 아무런 영향을 미치지 않습니다.
+0

설명해 주셔서 감사합니다. ocaml.vim에이 라인'if! exists ("no_plugin_maps") &&! exists ("no_ocaml_maps")'가 있으므로, vimrc에'let no_ocaml_maps = 1'을 추가 했으므로 이제 ocaml 매핑은 사라졌습니다. – octref