Jak sprawić, aby vim pokazywał bieżącą klasę i metodę, którą edytuję


15

Czy ktoś wie, czy jest to możliwe (lub wie o istniejącym skrypcie vim lub wtyczce), które mogą utworzyć „pasek stanu”, który pokazuje nazwę bieżącej klasy i metody (lub funkcji), którą edytuję?

Wyobrażam sobie, że połączy się on z parserem składni dla typu pliku bieżącego bufora i wyświetli ścieżkę nawigacyjną, aby pokazać ci, co aktualnie edytujesz. Nie znam wystarczająco dobrze vimscript, aby coś więcej zasugerować, ale jeśli nie ma już żadnych dobrych rozwiązań, mogę zacząć hackować jeden, więc sugestie, od czego zacząć, są również mile widziane!

Odpowiedzi:


7

Ten skrypt umieszcza nazwę bieżącej funkcji na pasku tytułu i / lub linii statusu. Wykorzystuje ctags do wygenerowania listy znaczników dla bieżącego pliku i zakłada, że ​​znacznik poprzedzający położenie kursora jest nazwą bieżącej funkcji. Ponieważ używa tagów, można go dostosować do pracy z różnymi językami, nawet strukturalnymi plikami tekstowymi. Działa dobrze w praktyce, ale ma pewne ograniczenia. Jeśli nic więcej, może dać ci punkt wyjścia do hakowania.


6

Działa to, jeśli zainstalujesz wtyczki linii lotniczej i tagbar . Te dwie wtyczki integrują się automatycznie, a bieżąca funkcja zostanie wyświetlona na pasku stanu. Jeśli chcesz mieć pełną hierarchię obiektów (np. Metoda + klasa), musisz to skonfigurować w swoim .vimrc:

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

Może być konieczne skonfigurowanie pliku tagów dla paska tagów, aby zidentyfikować bieżącą pozycję kodu, jeśli jeszcze nie używasz tagów. Jeśli jeszcze o tym nie wiesz, oto krótkie wprowadzenie do tagów .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.