【发布时间】:2014-03-04 23:35:46
【问题描述】:
有许多有用的 emacs 命令可以在“其他窗口”中执行操作(例如 C-x C-b 可以查看缓冲区列表,C-h a 可以查看可用命令,或许多其他命令)。
我的问题:在一帧中使用多个精心排列的窗口似乎不太适合,每个窗口都显示特定的内容。
每当我使用这些“其他窗口”命令之一时,它都会替换某些其他窗口的内容,这些窗口 (1) 可能太窄而无法清楚地显示正在显示的信息,并且 (2) 可能需要手动操作”清理”之后,通过将其设置回正确的缓冲区。 (而且你最好不要在这样做的时候检查缓冲区列表,否则你会弄乱另一个窗口!)
(Emacs 甚至不总是使用同一个“其他窗口”,即使命令是从同一个窗口发出的。例如,C-x C-b 输出可能会进入一个“其他”窗口,而C-h a 显示它的导致不同的“其他”窗口。同样,C-M-v 有时会滚动与刚刚出现输出的窗口不同的“其他”窗口。)
我想要解决或解决此问题的方法,例如:
我真的很希望能够指定一个特定的窗口以始终用作该框架中任何窗口的“其他窗口”。
如果做不到这一点,也许有一种方法可以重新排列窗口顺序和/或使用不可见的窗口(如果存在的话)通过进行大量的幕后窗口改组来获得解决方案 1 的效果,可能需要在写入“其他窗口”的命令之前或之后输入额外的命令。
如果这些失败,我想要一个命令来撤消任何窗口中最近的缓冲区更改,因此使用的任何窗口都可以恢复到使用前显示的内容。
(目前我使用 workgroups.el 并且我使用单独的工作组来检查文档,但这显然不是最理想的。“更新”工作组并没有实现解决方案 3,因为它似乎只会将缓冲区更改回来,如果它是一个常规文件。)
编辑:我看到这个问题与this similar question 非常相似,但是那个问题没有得到它想要的答案。由于可能不存在理想的解决方案,因此我也对变通方法非常感兴趣。
【问题讨论】:
标签: emacs