Estou desenvolvendo main no Rails usando SASS, Slim e Coffeescript. Eu tenho Ctags exuberantes instaladas e usando a configuração do tpope
Funciona para que pelo menos eu possa mover meu código ruby.
Mas eu gostaria de poder:
SASS
color: $whatever <- go to that color
@extend %something <- go to that mixin
+another() <- go to that include
HTML/SLIM
.nice_class <- go to that class in .sass file
#id <- find JS files using this #id
RUBY
has_many :something <- go to that class
concerns :important <- go to that symbol
E talvez o mais importante - eu quero concluir automaticamente o que foi dito acima. Para que eu possa reutilizar classes CSS, IDs HTML e símbolos Ruby no projeto.
Como configurar o Ctags para cobrir classes de css, ids de html, mixins sass e tudo mais usado no desenvolvimento moderno da web?
autocompletion
tags
ctags
firedev
fonte
fonte
cscope
, mas não sei se o cscope suporta HTML + JS + CSS.Respostas:
O Vim é um poderoso editor de texto. O recurso de tags baseia-se em uma base simples: o Vim pode ler um ou vários bancos de dados de tags , que contêm registros baseados em linhas que consistem em uma tag (basicamente uma string), um arquivo e endereço correspondentes (padrão de pesquisa) para localizá-lo e opcional informação adicional.
É isso que você obtém: se você criar um arquivo de tags que cubra seu Ruby, SASS e CoffeeScript, poderá pular para tags definidas e usar a conclusão. No entanto, além desse mecanismo simples e fácil de entender, o Vim não tem capacidade de distinguir vários idiomas e símbolos com base na sintaxe ou nos sigilos. Embora você possa criar uma inteligência personalizada em torno disso, você seguirá na direção de criar um IDE, o que o Vim não é. Aceite melhor as limitações e use o Vim onde ele se destaca e atenha-se a um IDE para o resto.
TL; DR: Vim é um editor de texto independente de idioma com meios básicos de navegação, para obter todos os recursos, use um IDE para navegação.
fonte
--langdef=... --langmap=... --regex-...=...
Experimente o vim-gutentags: https://github.com/ludovicchabant/vim-gutentags Ele gera tags automaticamente para você. Uma palavra de aviso, porém, este plug-in regenerará automaticamente as tags após cada salvamento, para que você fique mais lento. Além disso, ele gerará tags para qualquer arquivo que você abriu, para que você possa acabar com o arquivo de tags na sua pasta dotfiles. Se você deseja desativar a geração de tags para o projeto, leia isto: https://github.com/ludovicchabant/vim-gutentags/commit/7316197a7f884e264e20590cbad90046d8337fbb
Pessoalmente, eu o uso há algum tempo e, se configurado corretamente, esse plugin pode economizar muito tempo, mas o YMMV.
fonte
easytags
plugin que estava retardando vim para baixo vi.stackexchange.com/a/2897/237 e passou a usar ganchos git como sugerido por tpopeExiste um bom post sobre o uso de git hooks para gerenciar ctags pelo tpope:
http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html
fonte