Pathogen - 一部の vim プラグインのみが動作します

Pathogen - 一部の vim プラグインのみが動作します

そこで最近、NerdTree や Solarized などのプラグインとともに Pathogen をインストールしましたが、どちらも非常にうまく機能しています。

今日はRubyインデントプラグインをインストールしてみました(https://github.com/jelera/vim-javascript-syntax) 残念ながら動作しません。

それから、Javascriptのインデント/構文強調プラグイン(https://github.com/vim-ruby/vim-ruby/wiki/VimRubyサポート) ですが、面白いことに、高度な構文強調表示 (solarized に付属しているものではありません) は実際には機能しますが、インデントは機能しません。

Pathogen がフォルダーをロードしないようです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フォルダーの代わりにruby​​ のプラグイン フォルダーを置くと、リスト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

しかし、インデントはまだ機能しません。

答え1

スクリプト名には、Ruby または JavaScript の通常の組み込み ftplugin または構文ファイルさえ含まれていません。

したがって、私が推測するに、あなたが編集しているのは Ruby または JavaScript ファイルではないということです。あるいは、もし編集しているとしても、Vim はファイルを Ruby または JavaScript として検出していないのです。

ファイルタイプを手動で ruby​​ または javascript に設定してみるか、Vim がそれらを正しく検出しない理由を調べてみてください。自動ファイルタイプ検出でサポートされているファイル拡張子を使用していない可能性があります。必要に応じて新しいファイル拡張子を追加できます (:help new-filetype)。いずれにしても、Pathogen は ftplugin ファイルを問題なく読み込みます。

関連情報