如何阻止Emacs更改分割缓冲区?

时间:2010-09-18 16:46:43

标签: emacs

我打开了许多分区,查看各种缓冲区。但是当我例如检查函数的帮助时,它将用帮助缓冲区替换其中一个分割。一旦我完成了阅读帮助,我必须手动回到正确的缓冲区,这很痛苦。如何让Emacs更好地使用我的缓冲区?

更新:帮助会让您按q返回上一个缓冲区。但导致Emacs回溯弹出也会窃取我的一个缓冲区窗口而且它没有q

更新:Backtrace有q返回。我原来的问题仍然存在:我如何要求Emacs不要偷走我的一个分裂?

4 个答案:

答案 0 :(得分:6)

将行

(push "*Help*" special-display-buffer-names)
添加到init文件应该使得帮助缓冲区的后续调用显示在它自己的框架中(桌面通常称为“窗口”),并保留原始框架单独配置。

请参阅Special Buffer Frames

答案 1 :(得分:3)

你也可以使用胜利者模式。它出现在planet.emacsen.org前一阵子。

  

获胜者模式是全局次要模式。激活后,它允许使用键命令'C-c left'和'C-c right'在窗口配置中“撤消”(和“重做”)更改。

这样,您可以在分裂发生后立即撤消对分割的任何更改。

答案 2 :(得分:1)

我希望这会对你有所帮助:

  • C-x 0 删除当前窗口

  • C-x 1 仅保留当前窗口

  • 您可以通过在.emacs中添加以下行来使用windmove:

(windmove-default-keybindings)

然后,您可以使用 S-right S-left S-up S-down在窗口之间移动点

有很多方法可以存储和恢复emacs窗口,请参阅emacswiki.org on the subject

答案 3 :(得分:0)

我所做的只是转到那个改变的缓冲区,C-x k它,那个窗口中的当前缓冲区将是前一个缓冲区。

可以为保存当前窗口和缓冲区状态的帮助定义建议,并使用简单的键绑定进行恢复。但这超出了我的基本知识。