2014-01-15 145 views
2

我使用M-.跳轉到類/函數的定義。有時候會有多個具有相同標記的類,所以我需要使用C-u M-.來跳轉到多個文件,因此需要多個緩衝區。現在我的問題是,如何快速回到原始緩衝區?我知道C-x b,但你需要輸入緩衝區名稱,或者它只是默認給你你訪問的最後一個緩衝區,還有沒有更進一步?例如,轉到最後一個緩衝區的前一個緩衝區?在追逐Emacs中的標籤後切換到原始緩衝區

回答

2

我相信M-.默認調用find-tag。您應該可以使用M-*pop-tag-mark)備份一堆地點。

C-h f find-tag

表示當該命令被調用被推 到一環,並且可以被趕回到與M-*點的標記。將該命令與標記去掉的 對比。

1

Iciclesmulti-commandicicle-find-tag,在冰柱模式勢必M-.,結合了所有的香草什麼Emacs命令M-.find-tagM-,tags-loop-continue),tags-aproposlist-tags做。它還有更多。

您可以針對任何標籤,在與附加模式匹配的標籤子集中循環(以不同的順序),等等,在單個命令調用中訪問多個標籤。您可以按任意順序選擇您想要訪問的標籤---您無需按順序訪問每個標籤。

  1. 您第一次進入(使用RET)一個正則表達式,你有興趣必須匹配所有標籤(也可能是空洞,讓所有標籤)。

  2. 之後,您可以鍵入一個模式,標籤和/或它們的源文件的子集必須匹配。

    也就是說,默認情況下,您可以完成針對multi-completion由標籤本身及其源文件名組成的候選項。

  3. 您可以選擇使用考生在C-mouse-2*Completions*使用downup,然後使用C-RET訪問他們的名字中騎自行車參觀。

  4. 您可以使用M-*icicle-pop-tag-mark)返回原來的位置。您也可以通過使用C-g完成M-.調用返回。

更多信息here

0

我使用winner-mode爲此(和其他類似的情況)。

添加(winner-mode 1)到您的init文件,然後當你想返回你跳轉到標記之前分別在窗口配置,你只需要輸入:

抄送<離開>調用winner-undo(根據需要重複多次)

如果您訪問了另一個緩衝區中的多個標記,這將使您在一個步驟中回到原始緩衝區(或以前的緩衝區,無論如何),而不是步進通過進入個別標籤一個接一個。

如果標籤已經向您介紹多個緩衝區,那麼你就需要輸入抄送<離開>一次爲每個緩衝區(或抄送<離開>CXžzz ...如果你走了很長的彎路:)