【问题标题】:having emacs grep buffer use specific emacs buffer to display hit让 emacs grep 缓冲区使用特定的 emacs 缓冲区来显示命中
【发布时间】:2013-02-24 21:34:33
【问题描述】:

抱歉标题,很难用一句话来解释这个问题。但这是我正在谈论的用例:

我在 emacs 中打开了 4 个缓冲区,每个缓冲区显示一些文件和一些位置。然后我执行 grep-find 并将 grep 输出放入其中一个缓冲区。然后我点击 grep 缓冲区中的命中,每次点击,emacs 使用不同的缓冲区来显示命中。如果我打开了超过 4 个缓冲区,emacs 会确保按顺序使用所有这些缓冲区来显示命中。这对我来说真的没用,因为所有这些缓冲区都在某个位置包含我的源文件,我想保留这些缓冲区。

如果单击 grep 输出中的命中将在特定缓冲区中打开并且仅在特定缓冲区中打开,例如 grep 缓冲区之后的下一个缓冲区,这将更加有用。这样,我可以安排在 grep 缓冲区可用后保留下一个缓冲区,并在那里显示所有 grep 结果。并且所有其他缓冲区将继续在我想要的位置显示我的源文件......

那么,这可以通过一些 elisp 魔法来完成吗,还是我必须改变使用 emacs 的方式?

【问题讨论】:

  • 您似乎对缓冲区和窗口感到困惑。 grep-find 的输出进入 *grep* 缓冲区。我确定您对显示此缓冲区的窗口感到困惑。
  • 感谢您的回答,但我对 grep-find 的输出去向并不感到困惑。我的问题也与缓冲区/窗口区别无关。我只是想让 emacs 在同一个缓冲区(或窗口,如果你愿意的话......)中显示所有 grep 命中

标签: emacs


【解决方案1】:

您可能更喜欢使用 next-errorprevious-error(绑定到 M-gM-nM-gM-p) 在单个窗口中循环点击。

【讨论】:

  • 这正是我想要的。以前我只是在点击上移动,然后单击它们或按 C-m,这会将每个点击分发到所有现有打开的窗口。
猜你喜欢
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
相关资源
最近更新 更多