gpt4 book ai didi

emacs - 如何控制 Emacs 中的新内容使用哪个窗口?

转载 作者:行者123 更新时间:2023-12-01 08:15:33 26 4
gpt4 key购买 nike

我经常在一个框架内精心安排多个窗口。

但是,某些命令,例如 M-x man RET 将抓取其中一个可见窗口以显示其自己的内容。有时这很烦人,因为被拿走的窗口是我需要保持可见的窗口。

例如我在屏幕上有 3 个窗口,一个有用的源代码窗口和两个无用的窗口。我想在检查 man 页面时保持源代码窗口可见。但是 Emacs 通常只是删除新打开的手册页的代码窗口。

我能想到的一种方法是显示每个窗口的(按时间顺序)打开顺序,这样我就可以将注意力集中在第 n 个窗口上,并确信 Emacs 会为新窗口抓取第 (n+1) 个窗口内容。

有没有办法显示这样的顺序,例如在每个窗口的模式行中?

或者是否有其他方法可以更好地控制新窗口的显示?

最佳答案

晚会有点晚了,但正如评论中所讨论的那样,使用专用窗口是控制新内容显示位置的好方法(+1 给@lawlist 提出来,@phils 提到切换!)。

我很确定此时您可以自己实现一个切换专用性的命令,但是由于我手头有代码,所以无论如何我都会分享它:

(defun toggle-window-dedicated ()
"Control whether or not Emacs is allowed to display another
buffer in current window."
(interactive)
(message
(if (let (window (get-buffer-window (current-buffer)))
; set-window-dedicated-p returns FLAG that was passed as
; second argument, thus can be used as COND for if:
(set-window-dedicated-p window (not (window-dedicated-p window))))
"%s: Can't touch this!"
"%s is up for grabs.")
(current-buffer)))

(global-set-key (kbd "C-c d") 'toggle-window-dedicated)

现在,在多窗口设置中,您只需在要“保护”的每个窗口中按 C-c d

关于emacs - 如何控制 Emacs 中的新内容使用哪个窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com