Vim:goto函数定义

时间:2011-04-04 09:35:12

标签: vim

我知道去函数声明的方法(使用ctags + Ctrl + ])。但是,如果我不想转到函数声明,而是转到函数 definition ,该怎么办呢。

例如:

// 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.cfoo_function定义。我安装了taglist,但是每次我只想跳到光标下的函数定义时都不想打开标记列表窗口。有没有办法用键盘图做到这一点?

感谢。

3 个答案:

答案 0 :(得分:3)

使用 g ] 首先获取选项列表

答案 1 :(得分:1)

如果添加:help cscope-suggestions中建议的映射,那么你可以使用^- g(控制减去,然后g - 很好,即使映射是用<C-_>定义的,vim让你跳过shift键)找到光标下函数的定义。

你当然可以使用任何键映射;我已经看到control + \是cscope插件中的默认映射。

答案 2 :(得分:1)

由于类似的问题已经被问到堆栈溢出:

Get ctags in vim to go to definition, not declaration

你可能会发现有帮助的答案。