Jak poruszać się po wielu dopasowaniach ctag w Vimie?
Używam Ctrl-] w Vim do nawigacji za pomocą Ctags. Jak przejść do pliku alternatywnego, jeśli jest wiele dopasowań?
Ex. something.publish
w bazie kodowej zawierającej wiele wystąpień publish
:
class Foo
def publish
end
end
class Bar
def publish
end
end
4 answers
:tn[ext]
przechodzi do następnego tagu, :tp[revious]
przechodzi do poprzedniego. :ts[elect]
daje listę do wyboru.
:help tag-matchlist
więcej zabawy i ekscytujących rzeczy do wypróbowania!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-22 18:23:43
Użyj g]
zamiast C-]
, Aby uzyskać listę wszystkich dopasowań.
You might want to read :help g]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-22 19:25:07
dodanie odpowiedzi, której ostatecznie szukałem na wypadek, gdyby pomogła innym:
g<C-]>
przeskoczy do tagu, jeśli jest tylko jeden mecz i wyświetli listę, jeśli jest wiele meczów.
Dodałem to mapowanie do mojego .vimrc, aby zrobić to, co chcę domyślnie:
nnoremap <C-]> g<C-]>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-11 15:46:10
ltag
ltag the_tag_name
lopen
Otwiera okno lokalizacji z tagiem dopasowania.
Jest to szczególnie przydatne przy wyszukiwaniu znaczników wyrażeń regularnych:
ltag /tag_na
lopen
Który wyświetli listę wszystkich tagów zawierających łańcuch tag_na
(w tym the_tag_name
).
Możesz następnie przeszukiwać listę lokalizacji przed naciśnięciem klawisza enter, aby przejść do tagu.
Aby użyć go dla słowa pod kursorem, możesz zdefiniować mapę:
nnoremap <leader>l exec("ltag ".expand("<cword>"))<CR>
Wtedy, jeśli jesteś tab maniak jak ja:
command! -nargs=1 Ltag silent ltag <args> | execute "normal \<C-o>" | tab lopen
Otworzy nową kartę z listą lokalizacji i wszystkimi dopasowaniami, zamiast przeskakiwać bezpośrednio do karty:
:Ltag /my_struct
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-28 05:20:41