Recentemente instalei o Pathogen junto com alguns plugins como NerdTree e Solarized e ambos funcionam muito bem.
Hoje tentei instalar o plugin de indentação Ruby (https://github.com/jelera/vim-javascript-syntax) e infelizmente não funciona.
Então tentei instalar o plugin Javascript de recuo/destaque de sintaxe (https://github.com/vim-ruby/vim-ruby/wiki/VimRubySupport), e aqui está o engraçado: o realce de sintaxe avançado (não aquele que vem junto com o solarized) realmente funciona, mas não o recuo.
Acho que o Pathogen não carrega ftplugin
a pasta. Aqui está :scriptnames
o resultado:
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
E aqui estão as primeiras linhas dos meus .vimrc
arquivos:
execute pathogen#infect()
syntax on
filetype plugin indent on
Percebi que todos os plug-ins que contêm plugin
pasta funcionam, enquanto os plug-ins com ftplugin
pasta não. Qualquer ajuda seria apreciada!
Editar:
Acabei de descobrir que se eu colocar a pasta do plugin para Ruby na plugin
pasta, bundle
ela aparecerá corretamente na :scriptnames
lista.
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
e lança o seguinte erro:
Error: Rubycomplete requires vim compiled with +ruby
Error: falling back to syntax completion
mas o recuo ainda não funciona.
Responder1
Seus nomes de script não incluem nem mesmo os arquivos ftplugin ou de sintaxe integrados usuais, tanto para Ruby quanto para JavaScript.
Então, meu palpite é que você não está editando um arquivo Ruby ou JavaScript. Ou, se estiver, o Vim não detectou o arquivo como ruby ou javascript.
Você pode tentar definir manualmente o tipo de arquivo para Ruby ou JavaScript ou tentar descobrir por que seu Vim não os está detectando corretamente. Talvez você não esteja usando uma extensão de arquivo suportada pela detecção automática de tipo de arquivo. Você pode adicionar novas extensões de arquivo se desejar (:help new-filetype); mas de qualquer forma, o Pathogen carrega arquivos ftplugin perfeitamente.