Vim: определение функции goto - PullRequest
2 голосов
/ 04 апреля 2011

Я знаю, как перейти к объявлению функции (используя ctags + Ctrl + ]). Но что, если я хочу перейти не к функции объявление , а к функции определение .

Например:

// foo.c
#include "foo.h"

...
if (x > 3) foo_function(x);
...

void foo_function(int x) {
    ...
}

и

// foo.h
void foo_function(int x);

Затем Ctrl + ] открывает foo.h и указывает на линию void foo_function(int x);. Я хочу перейти к определению foo.c к foo_function. У меня установлена ​​taglist, но я не хочу открывать окно taglist каждый раз, когда просто хочу перейти к определению функции под курсором. Есть ли способ сделать это с помощью таблицы ключей?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 04 апреля 2011

Используйте g ] , чтобы сначала получить список выбора

1 голос
/ 20 апреля 2011

Поскольку подобный вопрос уже задавался о переполнении стека:

Получить ctags в vim для перехода к определению, а не к объявлению

Вы можете найти ответы там полезными.

1 голос
/ 04 апреля 2011

Если вы добавите сопоставления, предложенные в :help cscope-suggestions, то вы можете использовать ^- g (контроль минус, затем g - довольно приятно, хотя сопоставления были определены с помощью <C-_>, vim позволяет пропускать клавишу Shift) найти определение функции под курсором.

Вы, конечно, можете использовать любые сочетания клавиш;Я видел control + \ как отображение по умолчанию в плагине cscope.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...