Переход к функции в Vim

У меня есть ctags, и я переходил к функциям, помещая свой курсор в функцию и нажимая ctrl ]. Однако я нахожу это иногда неудобным.

Например, если мой курсор не находится рядом с функцией, к которой я хочу перейти, то это будет неприятно.

Есть ли в ctags или vim команда для автоматического перехода к функции, введя ее имя и нажав кнопку? Было бы намного лучше, если бы оно было нечетким и предсказывало функцию для вас. Так, например, если я хочу перейти к функции с именем process_input()затем я набрал бы эту функцию и нажал g или что-то.

2 ответа

Решение

:tag <identifier> команда эквивалентна Ctrl-] когда курсор находится над <идентификатором>. Увидеть

:help CTRL-]

Таким образом, вы можете напечатать

:tag process_input

перейти к тегу этой функции. Кроме того, :tag Команда использует завершение табуляции, поэтому вы можете вместо этого набрать

:tag pro<Tab>

и Vim завершит как можно больше этого имени. Нажмите еще раз, и Vim будет перебирать матчи. Если вы предпочитаете видеть список возможных совпадений, вы можете установить опцию 'wildmode` на что-то другое, например,

:set wildmode=longest,list

Увидеть

:help 'wildmode'

Вы можете перейти к определенному известному тегу с помощью :tag команда. Например:

:tag process_input
Другие вопросы по тегам