문제

나는 Vim을 사용해왔고 병원체 한동안은 모든 것이 잘 작동했지만 최근에는 ftplugin 구성에 로드 순서 문제가 발생하기 시작했습니다.

지금 내가 겪고 있는 구체적인 문제는 파이썬 모드 내 ftplugin 설정을 무시하고 있습니다.나는 가지고있다 ~/.vim/ftplugin/python.vim 여기에는 다음 줄이 포함됩니다.

setlocal textwidth=119

Python 모드에는 자체 ftplugin 파일이 함께 제공됩니다. textwidth, 안에 ~/.vim/bundle/python-mode/ftplugin/python/pymode.vim.

문제는 Vim이 이제 Python 모드의 ftplugin 파일을 로드하고 있다는 것입니다. ~ 후에 내 ftplugin 파일이 완성되었네요. textwidth=79. 최근에 MacPort를 다시 설치해야 했는데 기본 구성에서 뭔가 변경된 것 같습니다.

나는 병원체를 호출하기 전에 파일 형식/플러그인 감지를 끄는 것과 관련된 다양한 트릭을 시도했습니다. 다양한 다른 대답하지만 그들 중 누구도 도움을 주지 않습니다.

사용을 통해 verbose set textwidth? 그리고 일부 echomsg 디버깅을 해보니 두 ftplugin 파일이 모두 호출되고 있으며 (내 필요에 따라) 잘못된 순서로 호출되고 있다는 것을 알고 있습니다.

Vim/병원체가 플러그인 파일 다음에 ftplugin 파일을 호출하도록 강제할 수 있는 방법이 있나요?

나는 심지어 내 설정을 ~/.vim/after/plugin/pymode.vim, 그러나 병원체가 플러그인을 설정한 직후에 로드되므로 이전에도 계속 실행됩니다. ftplugin Python 파일을 편집한 후에만 로드되는 파일입니다.

도움이 되었습니까?

해결책

아마도 이것이 내가 생각한 대로 작동하지 않았을 수도 있다는 것이 밝혀졌습니다.Vim도 지원한다는 사실을 몰랐습니다. ~/.vim/after/ftplugin, 그래서 재정의를 다음으로 이동할 수 있었습니다. ~/.vim/after/ftplugin/python.vim 내가 기대했던 행동을 얻습니다.나는 SO에 대한 내 자신의 질문에 대답하고 싶지 않지만 이것이 다른 사람에게 도움이 되기를 바랍니다.

다른 팁

일반 Vim은 플러그인 스크립트를 로드합니다. 알파벳순 주문하다.이것은에서 온 것입니다 :help load-plugins

... all directories in the 'runtimepath' option will be
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.

따라서 이름을 바꾸어 플러그인 로딩 순서를 설정할 수 있습니다. <filetype>_plugin.vim 에게 <filetype>/35plugin.vim.35는 원하는 로딩 순서입니다.나는 이것이 내부 플러그인 디렉토리의 이름을 바꾸면 Pathogen에서도 작동해야 한다고 생각합니다. bundle, 하지만 테스트하지는 않았습니다.

나는 여전히 이 로드 순서 문제에 대한 보다 일반적인 답변을 찾고 있습니다.

내가 아는 한, Pathogen으로는 실제로 그렇게 할 수 없습니다.NeoBundle을 사용하면 정말 쉽습니다.병원체는 매우 미미하며 많은 유연성을 제공하지 않습니다. 단지 한 가지 일만 하고 잘 수행합니다.구성 가능성을 찾고 있다면 잘못된 도구를 사용하고 있는 것 같습니다.

편집하다:ftplugins에 대해서는 잘 모르겠지만 일반적으로 번들은 사용자가 지정하는 대로(Vundle/NeoBundle을 사용하여) 로드됩니다.그래서 나는 이것이 아마도 가장 관련성이 높은 답변이 아닐 수도 있다는 것을 알고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top