2011-04-04 57 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插件中的默認映射。