Próbuję zebrać zestaw narzędzi poleceń / zapytań Vima, w trybie poleceń lub wyszukiwania, do nawigacji w bazie kodu bez użycia tagów Ctag lub innych narzędzi zewnętrznych. Tagi są świetne, ale wsparcie może się różnić w zależności od środowiska programistycznego, w którym utknąłeś. Chciałbym polegać tylko na wiedzy Vima.
9
gd
. Spowoduje to przeniesienie kursora do lokalnej deklaracji zmiennej pod kursorem.Odpowiedzi:
„Dołącz wyszukiwanie” to jedno z takich narzędzi:
Powiązane z „włącz wyszukiwanie”, „wyszukiwanie definicji” jest również interesujące:
Oba narzędzia zależą od szeregu opcji, które mogą lub nie mogą być ustawione przez wtyczki typu pliku.
Zobaczyć
:help include-search
.Możesz również używać
gd
igD
jako lekkie wersje[D
i]D
.Zobaczyć
:help gd
.W bieżącym buforze poniższe polecenie wyświetli każdą definicję funkcji i jej numer wiersza:
Zobaczyć
:help :g
.:grep
i:vimgrep
są również przydatne, jeśli tylko dlatego, że ich wynik jest podawany do listy quickfix, które mogą być zmieniane przy użyciu:cn
,:cp
... i wyświetlone w oknie bardzo poręcznym quickfix.Zobacz
:help :grep
,:help :vimgrep
a:help quickfix
.Mówiąc o / okna listy quickfix pisałem tę funkcję (na podstawie prac innych), aby wyświetlić wyniki
[I
,]I
,:ilist
,[D
,]D
i:dlist
na liście quickfix / okna. Oczywiście YMMV.Choć nie jest to wyłącznie narzędzie nawigacyjne, okno podglądu jest bardzo przydatne do spojrzenia na podpis funkcji, z którą pracuję.
Zobaczyć
:help preview-window
.To mówi…
Vim nie wie nic o twoim kodzie poza kilkoma wzorcami wyrażeń regularnych, które mogą, ale nie muszą pasować do twojego stylu kodowania lub cokolwiek innego. Oznacza to, że nawigacja kodu jest lepsza przy pomocy zewnętrznych narzędzi, takich jak ctags, cscope lub GNU GLOBAL.
źródło
Istnieje wiele sposobów poruszania się po kodzie (zawartych w Vimie i zewnętrznych), wciąż je odkrywam. W codziennej pracy używam:
gf
-commandCtrl+O
,Ctrl+I
- przeskocz do tyłu lub do przodu w „historii” nawigacjig;
- przeskocz na ostatnio edytowane miejsce w pliku'[some_letter]
polecenia, jeśli litera jest duża, otrzymasz znak, który będzie dostępny z dowolnego pliku (bufora).źródło