2013-02-24 200 views
1

對於標題感到抱歉,很難在一個班輪中解釋這個問題。但這裏是我說的用例:讓emacs grep緩衝區使用特定的emacs緩衝區來顯示命中

我有4個緩衝區在emacs中打開,每個顯示一些文件和一些位置。然後,我執行grep-find,並將grep輸出放入其中一個緩衝區中。然後我點擊grep緩衝區中的點擊,並且每點擊一次,emacs使用不同的緩衝區來顯示點擊。如果我打開了4個以上的緩衝區,emacs會確保按順序使用所有這些緩衝區來顯示命中。這對我來說確實沒有用處,因爲所有這些緩衝區都包含了我的源文件,並且我想保留這些緩衝區。

如果在grep輸出中單擊命中將僅在特定緩衝區中打開,例如,在grep緩衝區之後的下一個緩衝區,將會更有用。這樣,我可以安排在grep緩衝區可用之後保留下一個緩衝區,並在那裏顯示所有grep結果。所有其他緩衝區將繼續顯示我的源文件在我想要的位置...

那麼,這是可以用一些ELISP魔術,或者我必須改變我與Emacs的工作方式?

+0

您似乎對緩衝區和窗口感到困惑。 'grep-find'的輸出到'* grep *'緩衝區。我確定你對顯示這個緩衝區的窗口感到困惑。 – pmr 2013-02-24 22:08:15

+0

感謝您的回答,但我對grep-find的輸出結果並不感到困惑。我的問題也與緩衝區/窗口區別無關。我只是想讓emacs在同一個緩衝區(或窗口,如果你會...)顯示所有grep命中。 – 2013-02-25 10:07:44

回答

2

您可能喜歡通過點擊在一個單一的窗口中使用next-errorprevious-error(綁定到M-克M-NM-克M-P-)循環。

+0

這正是我一直在尋找的。之前,我只是移動命中,點擊它們或按下C-m,它將每個命中分配給所有現有的打開的窗口。 – 2013-02-25 10:03:39