Недавно я установил Pathogen вместе с несколькими плагинами, такими как NerdTree и Solarized, и они оба работают очень хорошо.
Сегодня я попытался установить плагин отступов Ruby (https://github.com/jelera/vim-javascript-syntax) и, к сожалению, это не работает.
Затем я пошел дальше и попытался установить плагин Javascript для отступов и подсветки синтаксиса (https://github.com/vim-ruby/vim-ruby/wiki/VimRubySupport), и вот что забавно - расширенная подсветка синтаксиса (не та, что идет в комплекте с 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
папкой — нет. Любая помощь будет оценена по достоинству!
Редактировать:
Я только что обнаружил, что если я помещаю папку плагина для Ruby в 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
но отступы все равно не работают.
решение1
Ваши имена скриптов не включают даже обычные встроенные файлы ftplugin или синтаксиса, как для Ruby, так и для JavaScript.
Так что я предполагаю, что вы не редактируете файл ruby или javascript. Или, если вы это делаете, Vim не определил файл как ruby или javascript.
Вы можете попробовать вручную задать тип файла на ruby или javascript, или попытаться выяснить, почему ваш Vim не определяет их должным образом. Возможно, вы используете расширение файла, не поддерживаемое автоматическим определением типа файла. Вы можете добавить новые расширения файлов, если хотите (:help new-filetype); но в любом случае, Pathogen отлично загружает файлы ftplugin.