2011-04-04 56 views
2

我知道如何去函数声明(使用ctags + Ctrl + ])。但是如果我不想去函数声明,而是函数定义来代替。Vim:goto函数定义

例如:

// 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,但不想每次只想跳到光标下的函数定义时打开标签列表窗口。有没有办法使用键盘映射来做到这一点?

谢谢。

+0

您在混淆术语*声明*和*定义*。我编辑你的问题来解决这个问题。 – 2014-02-19 16:14:04

+0

可能的重复[获取ctags在vim去定义,而不是声明](http://stackoverflow.com/questions/1054701/get-ctags-in-vim-to-go-to-definition-not-declaration) – 2014-09-15 15:27:30

回答

3

使用]得到一个选择列表第一

1

如果添加在:help cscope-suggestions建议的映射,那么你可以使用^- g(控制负,则G - 好听就够了,即使映射用<C-_>定义,VIM让你跳过shift键)来查找定义光标下的功能。

你当然可以使用任何键映射;我已将控件+ \看作cscope插件中的默认映射。