![在emacs中,如何强制切换到专用窗口中的不同缓冲区?](https://linux22.com/image/117930/%E5%9C%A8emacs%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E5%88%87%E6%8D%A2%E5%88%B0%E4%B8%93%E7%94%A8%E7%AA%97%E5%8F%A3%E4%B8%AD%E7%9A%84%E4%B8%8D%E5%90%8C%E7%BC%93%E5%86%B2%E5%8C%BA%EF%BC%9F.png)
是否有命令或快捷方式强制将专用窗口中的缓冲区替换为另一个缓冲区?
C-x b
当尝试使用或切换到不同的缓冲区时,M-x switch-to-buffer
它说"Cannot switch buffers in a dedicated window"
。
因此,我需要一种方法来取消专用窗口(该窗口由某些应用程序(例如 gdb)作为专用打开),或者能够使用快捷方式或覆盖切换到同一窗口上的不同缓冲区。
答案1
评估(set-window-dedicated-p (frame-selected-window) nil)
应取消当前窗口的专用。
看https://www.gnu.org/software/emacs/manual/html_node/elisp/Dedicated-Windows.html有关专用窗口的文档。