そこで最近、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 ファイルを問題なく読み込みます。