Przeglądam jakiś kod C. Wpadłem na zmienną zdefiniowaną w pliku nagłówkowym. Jak mogę przesunąć kursor pod tą zmienną i przeskoczyć, aby zobaczyć jego definicję?vim: Jak przejść do definicji w zewnętrznym pliku nagłówkowym C
Dzięki
Przeglądam jakiś kod C. Wpadłem na zmienną zdefiniowaną w pliku nagłówkowym. Jak mogę przesunąć kursor pod tą zmienną i przeskoczyć, aby zobaczyć jego definicję?vim: Jak przejść do definicji w zewnętrznym pliku nagłówkowym C
Dzięki
Osiągnięcie tego w vim można wykonać za pomocą pliku znacznika. Można wygenerować plik znacznika za pomocą programu ctags
lub exhuberant-ctags
.
cd w katalogu projektu i uruchom:
ctags -R
ten wygeneruje plik o nazwie tags
, które zawierają listę wszystkich symboli w kodzie źródłowym, z ich lokalizacji.
Vim wie, jak korzystać z tych plików, aby dostać się do właściwej lokalizacji. Gdy kursor znajduje się nad symbolem, wystarczy nacisnąć CTRL-]
, aby uzyskać jego definicję. I możesz wrócić tam, gdzie byłeś, uderzając w CTRL-T
.
Zobacz :help tags
, :help CTRL-]
i :help CTRL-T
Vim może korzystać z wielu plików tag w tym samym czasie. Na przykład możesz mieć jeden dla swojego projektu i jeden dla każdej biblioteki, której używasz. W tym celu wystarczy wygenerować różne pliki tagów i dodać je w ustawieniach tags
:
set tags=./tags,./TAGS,tags,TAGS,/mytags/library1,/mytags/library2
./tags,./TAGS,tags,TAGS
to wartość domyślna dla tags
; wyszukuje lub TAGS
w bieżącym katalogu oraz w katalogu bieżącego pliku.
Dziękuję. Więc nie potrzebuję żadnych wtyczek? – osager
Czy muszę również uruchamiać program ctags za każdym razem, gdy dodawane są nowe lub zmienione pliki? – osager
To wbudowane vim :) Będziesz potrzebował programu ctags, który nie jest częścią vima (powinien być dostępny w twoim menedżerze pakietów). – arnaud576875