Ich habe vor Kurzem Pathogen zusammen mit einigen Plugins wie NerdTree und Solarized installiert und beide funktionieren wirklich gut.
Heute habe ich versucht, das Ruby-Einrückungs-Plugin zu installieren (https://github.com/jelera/vim-javascript-syntax) und leider funktioniert es nicht.
Dann habe ich versucht, das Javascript-Einrückungs-/Syntax-Highlighting-Plugin zu installieren (https://github.com/vim-ruby/vim-ruby/wiki/VimRubySupport), und hier ist das Komische – die erweiterte Syntaxhervorhebung (nicht die, die mit solarized einhergeht) funktioniert tatsächlich, aber nicht die Einrückung.
Ich glaube, der Pathogen lädt ftplugin
den Ordner nicht. Hier ist :scriptnames
die Ausgabe:
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
Und hier sind die ersten Zeilen meiner .vimrc
Dateien:
execute pathogen#infect()
syntax on
filetype plugin indent on
Mir ist aufgefallen, dass alle Plugins, die Ordner enthalten plugin
, funktionieren, während Plugins mit ftplugin
Ordnern nicht funktionieren. Für jede Hilfe wäre ich dankbar!
Bearbeiten:
Ich habe gerade herausgefunden, dass wenn ich den Plugin-Ordner für Ruby in plugin
einen Ordner statt in einen anderen lege bundle
, er korrekt in der Liste angezeigt wird :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
und gibt folgenden Fehler aus:
Error: Rubycomplete requires vim compiled with +ruby
Error: falling back to syntax completion
aber die Einrückung funktioniert immer noch nicht.
Antwort1
Ihre Skriptnamen enthalten nicht einmal die üblichen integrierten Ftplugin- oder Syntaxdateien, weder für Ruby noch für JavaScript.
Ich vermute also, dass Sie keine Ruby- oder JavaScript-Datei bearbeiten. Oder, falls doch, hat Vim die Datei nicht als Ruby- oder JavaScript-Datei erkannt.
Sie können versuchen, den Dateityp manuell auf Ruby oder JavaScript einzustellen, oder versuchen, herauszufinden, warum Ihr Vim sie nicht richtig erkennt. Möglicherweise verwenden Sie eine Dateierweiterung, die von der automatischen Dateityperkennung nicht unterstützt wird. Sie können neue Dateierweiterungen hinzufügen, wenn Sie möchten (:help new-filetype); Pathogen lädt ftplugin-Dateien jedoch trotzdem problemlos.