2013-07-22 117 views
2

使用cscope集成的Vim,我可以使用ctrl-T導航回來並使用:標籤查看當前標籤堆棧位置。但我該如何前進呢?我可以從該名男子的網頁上發現的唯一的事情就是去函數定義(如CTRL-])vim中的標籤導航

+0

你試過':ta'嗎? – Kent

+0

@Kent我不使用ctags as-suck。我正在使用ctags。所以:ta不是傻笑 – vpillai

回答

2

標籤棧是由所有的「跳轉到」創建。每次你按ctrl-],你跳轉到的標籤被添加到標籤堆棧,你可以使用ctrl-t或:tag來跳回tagstack中的前一個標籤,或者:pop以其他方式跳轉。 both:tag和:pop都有一個可選計數,所以:5tag將轉到第五個以前的標籤。

請參閱:help tagstack。

11

您還可以使用按Ctrl +按Ctrl +Ø向前移動和分別通過跳轉列表後退。這與標籤命令一起工作,因爲它們被視爲跳躍運動。

所以到:

  • 跳轉到一個標籤:按Ctrl +]
  • 跳回:Ctrl + O
  • 再次跳轉到標籤:Ctrl + I
+0

這在跳轉列表中起作用(並且標籤列表是副作用)。但它們並不完全是標記導航。 – vpillai

2

只需添加此答案,因爲我沒有編輯或評論接受的答案的代表,但<C-t>實際上對應於:pop命令,而不是所述的:tag命令。

:pop是用於在標記堆棧移動「向後」(將導致「在標籤棧的底部」消息),並與缺省鍵綁定<C-t>

:tag的命令是用於在移動「轉發」標籤堆棧(將導致'在標籤堆棧頂部'消息)。

我不知道任何鍵聯結爲:像向後移動的標籤,所以我映射(不)來標記。

nnoremap <C-[> :tag<CR>