Como posso fazer o vim mostrar a classe atual e o método que estou editando?

13

Alguém sabe se é possível (ou se sabe de um script ou plugin vim existente) que pode criar uma "barra de status" que mostre o nome da classe atual e o método (ou função) que estou editando?

Estou imaginando que ele se conectaria ao analisador de sintaxe para o tipo de arquivo do buffer atual e exibiria uma trilha de navegação para mostrar o que você está editando no momento. Eu não conheço bem o suficiente para sugerir mais do que isso, mas se já não houver boas soluções, posso começar a atacar um, então sugestões sobre por onde começar são bem-vindas também!

    
por dcrosta 05.05.2011 / 18:09

2 respostas

7

Este script coloca o nome da função atual na barra de título e / ou na linha de status. Ele usa ctags para gerar uma lista de tags para o arquivo atual e assume que a tag que precede a localização do cursor é o nome da função atual. Como ele usa ctags, ele pode ser personalizado para trabalhar com diferentes idiomas, até mesmo com arquivos de texto estruturados. Funciona bem na prática, mas tem algumas limitações. Se nada mais, isso pode lhe dar um ponto de partida para hackers.

    
por 05.05.2011 / 18:51
6

Isso funcionará se você instalar a companhia aérea e tagbar plugins. Esses dois plugins se integram automaticamente e você terá a função atual exibida na barra de status. Se você quer ter a hierarquia de objetos completa (por exemplo, método de classe +), você terá que configurar isso no seu .vimrc:

let g:airline#extensions#tagbar#flags = 'f'  " show full tag hierarchy

Você pode ter que configurar o arquivo de tags para o tagbar para identificar a posição atual do código, se você ainda não estiver usando as ctags. Se você ainda não sabe sobre isso, aqui está uma breve introdução às breve intro .

    
por 22.11.2016 / 13:49