使用emacs一直困扰我的一件小事
在缓冲区中打开shell时,我会这样做:
M-x shell
到目前为止一切顺利
但是如果我想打开另一个shell,我会切换到另一个缓冲区并且:
C-u M-x shell
但是这总是会在另一个窗口中打开 - 不是我目前所在的那个
这很烦人有人知道如何解决它吗?
修改
我应该补充一点,我在多个拆分窗口中打开了多个缓冲区,例如:我的框架分为3个部分 - 我想要的是在当前具有焦点的同一部分中打开的新外壳,即我输入的那个而不是备用的
我认为当我执行C-u M-x shell
时会发生的情况是新的shell缓冲区在 next 窗口中打开,即如果你点击C-x o
,你将转移到该窗口。我希望它在相同的窗口中打开
答案 0 :(得分:3)
Emacs在专用缓冲区中运行interactive shells。它不能在TeX缓冲区中运行shell。
M-x shell 创建一个新shell,如果还没有,并且 C-u M-x shell 会询问您是否有新缓冲区的名称。您还可以重命名shell缓冲区以方便多个shell,请参阅上面的链接。
编辑:使用pop-to-buffer-same-window
(在Emacs24中)显示新的shell缓冲区。
您最好的选择是将*Shell*
添加到display-buffer-alist
- 但这里没有必要。
在Emacs23中,*Shell*
缓冲区的显示由special-display-function
控制(因为*Shell*
在special-display-buffer-names
或special-display-regexps
中匹配。将special-display-function
设置为display-buffer-same-window
(或类似的东西),您应该是金色的。
然而,最终的解决方案是将Emacs升级到v24;既然你在Linux系统上,它应该是直截了当的。