我希望从Vim切换到Emacs,而让我失望的是,Emacs在X上运行时会打开一个单独的窗口。我可以为Emacs取得与在X上不运行时相同的行为吗?也就是说,我希望Emacs在与其触发的终端相同的终端上启动会话。
如果问题不清楚,请告诉我。预先感谢!
我希望从Vim切换到Emacs,而让我失望的是,Emacs在X上运行时会打开一个单独的窗口。我可以为Emacs取得与在X上不运行时相同的行为吗?也就是说,我希望Emacs在与其触发的终端相同的终端上启动会话。
如果问题不清楚,请告诉我。预先感谢!
Answers:
我不是emacs专家,但这对我有用:
emacs -nw
尽管您的问题已得到回答,但我敢说这不是任何普通用户使用emacs的方式。与vim不同,emacs通常具有更长的启动时间,并且无论如何都倾向于始终在多个打开的缓冲区中运行。因此,当您想在终端中使用emacs进行操作时,您可以调用emacsclient -nw
(假设emacs服务器已启动)。看看如何开始使用EmacsClient了解详情。
结合Dick Kenny和Alberto Zaccagni的上述答案,您将获得以下配置,我将在其中使用.bashrc
:
alias emacs='emacsclient -nw -c -a ""'
这将尝试连接到运行中的emacs守护程序。如果没有运行,它将启动一个新的,然后使用当前的终端窗口进行连接。
从文档:
-a EDITOR, --alternate-editor=EDITOR
Editor to fallback to if the server is not running
If EDITOR is the empty string, start Emacs in daemon
mode and try connecting again
-nw, -t, --tty Open a new Emacs frame on the current terminal
-c, --create-frame Create a new frame instead of trying to
use the current Emacs frame