병원체-일부 vim 플러그인 만 작동


1

그래서 최근에는 NerdTree 및 Solarized와 같은 몇 가지 플러그인과 함께 Pathogen을 설치했으며 모두 잘 작동합니다.

오늘 나는 Ruby 들여 쓰기 플러그인 ( https://github.com/jelera/vim-javascript-syntax ) 을 설치하려고했지만 불행히도 작동하지 않습니다.

그런 다음 Javascript indentation / syntax-highlighting plugin ( https://github.com/vim-ruby/vim-ruby/wiki/VimRubySupport ) 을 설치하려고 시도했습니다 . 고급스러운 구문 강조 표시는 아닙니다. 솔라리스와 함께 제공되는 것은 실제로 작동하지만 들여 쓰기는 아닙니다.

병원체가 ftplugin폴더를 로드하지 않는다고 생각 합니다. :scriptnames출력은 다음과 같습니다 .

  1: /usr/share/vim/vimrc
  2: /usr/share/vim/vim74/debian.vim
  3: /usr/share/vim/vim74/syntax/syntax.vim
  4: /usr/share/vim/vim74/syntax/synload.vim
  5: /usr/share/vim/vim74/syntax/syncolor.vim
  6: /usr/share/vim/vim74/filetype.vim
  7: ~/.vimrc
  8: ~/.vim/autoload/pathogen.vim
  9: /usr/share/vim/vim74/ftoff.vim
 10: ~/.vim/bundle/vim-javascript/ftdetect/javascript.vim
 11: ~/.vim/bundle/vim-ruby/ftdetect/ruby.vim
 12: /usr/share/vim/vim74/syntax/nosyntax.vim
 13: /usr/share/vim/vim74/ftplugin.vim
 14: /usr/share/vim/vim74/indent.vim
 15: /usr/share/vim/vim74/macros/matchit.vim
 16: ~/.vim/bundle/vim-colors-solarized/colors/solarized.vim
 17: ~/.vim/bundle/MatchTagAlways/plugin/MatchTagAlways.vim
 18: ~/.vim/bundle/nerdtree/plugin/NERD_tree.vim
 19: ~/.vim/bundle/nerdtree/autoload/nerdtree.vim
 20: ~/.vim/bundle/nerdtree/lib/nerdtree/path.vim
 21: ~/.vim/bundle/nerdtree/lib/nerdtree/menu_controller.vim
 22: ~/.vim/bundle/nerdtree/lib/nerdtree/menu_item.vim
 23: ~/.vim/bundle/nerdtree/lib/nerdtree/key_map.vim
 24: ~/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim
 25: ~/.vim/bundle/nerdtree/lib/nerdtree/tree_file_node.vim
 26: ~/.vim/bundle/nerdtree/lib/nerdtree/tree_dir_node.vim
 27: ~/.vim/bundle/nerdtree/lib/nerdtree/opener.vim
 28: ~/.vim/bundle/nerdtree/lib/nerdtree/creator.vim
 29: ~/.vim/bundle/nerdtree/lib/nerdtree/flag_set.vim
 30: ~/.vim/bundle/nerdtree/lib/nerdtree/nerdtree.vim
 31: ~/.vim/bundle/nerdtree/lib/nerdtree/ui.vim
 32: ~/.vim/bundle/nerdtree/lib/nerdtree/event.vim
 33: ~/.vim/bundle/nerdtree/lib/nerdtree/notifier.vim
 34: ~/.vim/bundle/nerdtree/autoload/nerdtree/ui_glue.vim
 35: ~/.vim/bundle/nerdtree/nerdtree_plugin/exec_menuitem.vim
 36: ~/.vim/bundle/nerdtree/nerdtree_plugin/fs_menu.vim
 37: /usr/share/vim/vim74/plugin/getscriptPlugin.vim
 38: /usr/share/vim/vim74/plugin/gzip.vim
 39: /usr/share/vim/vim74/plugin/matchparen.vim
 40: /usr/share/vim/vim74/plugin/netrwPlugin.vim
 41: /usr/share/vim/vim74/plugin/rrhelper.vim
 42: /usr/share/vim/vim74/plugin/spellfile.vim
 43: /usr/share/vim/vim74/plugin/tarPlugin.vim
 44: /usr/share/vim/vim74/plugin/tohtml.vim
 45: /usr/share/vim/vim74/plugin/vimballPlugin.vim
 46: /usr/share/vim/vim74/plugin/zipPlugin.vim

.vimrc파일 의 첫 줄은 다음과 같습니다.

     execute pathogen#infect()
     syntax on
     filetype plugin indent on

plugin폴더 가 포함 된 플러그인은 작동 ftplugin하지 않지만 폴더가 포함 된 모든 플러그인은 작동 하는 것으로 나타났습니다 . 도움을 주시면 감사하겠습니다!

편집하다:

난 그냥 루비를위한 플러그인 폴더를 넣으면 것을 발견 plugin폴더 대신 bundle이 제대로 나타 :scriptnames목록입니다.

 16: ~/.vim/plugin/vim-ruby/autoload/rubycomplete.vim
 17: ~/.vim/plugin/vim-ruby/compiler/eruby.vim
 18: ~/.vim/plugin/vim-ruby/compiler/rake.vim
 19: ~/.vim/plugin/vim-ruby/compiler/rspec.vim
 20: ~/.vim/plugin/vim-ruby/compiler/ruby.vim
 21: ~/.vim/plugin/vim-ruby/compiler/rubyunit.vim
 22: ~/.vim/plugin/vim-ruby/ftdetect/ruby.vim
 23: ~/.vim/plugin/vim-ruby/ftplugin/eruby.vim

다음과 같은 오류가 발생합니다.

Error: Rubycomplete requires vim compiled with +ruby
Error: falling back to syntax completion

그러나 들여 쓰기는 여전히 작동하지 않습니다.

답변:


0

스크립트 이름에는 루비 또는 자바 스크립트에 대한 일반적인 내장 ftplugin 또는 구문 파일도 포함되어 있지 않습니다.

내 생각에 루비 또는 자바 스크립트 파일을 편집하지 않는 것입니다. 또는 Vim이 파일을 루비 또는 자바 스크립트로 감지하지 않았습니다.

파일 형식을 루비 또는 자바 스크립트로 수동 설정하거나 Vim이 올바르게 감지하지 못하는 이유를 알아볼 수 있습니다. 자동 파일 형식 감지에서 지원하는 파일 확장자를 사용하지 않았을 수 있습니다. 원하는 경우 새 파일 확장자를 추가 할 수 있습니다 (: help new-filetype); 어쨌든 Pathogen은 ftplugin 파일을 정상적으로로드합니다.


vim이 파일 형식을 잘 감지한다고 생각합니다. 나는이 ftplugin에 폴더를 .vim그이 ruby.vimjavascript.vim몇 들여 쓰기 코드의 라인과 함께 둘 다 잘 작동합니다. (파일 형식 모두 올바르게 들여 쓰기) Pathogen이 :scriptnames다른 모든 플러그인과 같이 표시되지 않으면 ftplugin 파일을로드하는지 어떻게 알 수 있습니까?
the_dude

나는 병원체가 일반적으로 잘 작동한다고 말합니다. "나를 위해 일한다"에서와 같이. 따라서 Pathogen의 문제가 아닌 어딘가에 설치에 문제가 있습니다.
Ben

그러나 귀하의 경우 스크립트 이름 출력에는 ftplugin 파일이 전혀 없습니다. 파일 유형을 설정하지 않았거나 파일 유형을 파악하기 전에 파일 유형을 감지하지 않았다고 알려줍니다.
Ben

방금 원본 게시물을 편집했습니다. 문제는 정확히 당신이 말한 것입니다-ftplugin 파일은 전혀로드되지 않습니다. 파일 인 경우 파일 형식 감지를 설정 .vimrc합니다. vim에서 .rb파일을 열고 :set ft?명령을 쓰면 출력이 예상대로 –filetype=ruby
the_dude
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.