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

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

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

2 ответа2

5

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

:help CTRL-]

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

:tag process_input

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

:tag pro<Tab>

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

:set wildmode=longest,list

Увидеть

:help 'wildmode'
1

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

:tag process_input

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .