18

我使用 emacs 作为我的首选编辑器,并且由于我在终端中做了很多工作,所以我总是将 emacs 运行为

emacs -nw

以便它在终端而不是在窗口中运行。

我只想运行emacs并让它知道它应该在终端中运行。我的问题是 - 如何编辑我的.emacs文件以使其成为默认行为?

4

4 回答 4

28

您不能在.emacs文件中执行此操作。在解析该文件时,“选择的”emacs 二进制文件已经在运行。

您可以按照一位评论者的建议安装该emacs-nox软件包,或者在您的 shell 中创建一个别名,以便“emacs”始终被视为“emacs -nw”。

兰迪

于 2011-01-05T20:34:25.483 回答
18

我正在使用 bash 别名而不是 .emacs 来做到这一点。
将此行添加到您的 ~/.bashrc。

alias emacs='emacs -nw'
于 2011-01-06T02:04:06.030 回答
3

一般来说,有任何简单的方法可以解决与 emacs 完全无关的问题,并且适用于任何可以在控制台和 X 中运行之间进行选择的程序:

unset DISPLAY

当然,您可能不想将其放在配置文件中以全局应用于所有 shell 会话,因此如果您希望它仅应用于 emacs,则可以从命令行调用它,如下所示:

DISPLAY= emacs

注意空格!!!如果您将空格留出,则意味着您将 DISPLAY 设置为 emacs 而不是将 DISPLAY 设置为空...此命令是以下内容的简写:

DISPLAY=; emacs

因此,要么从命令行使用上述内容,要么将其放入看起来像这样的包装脚本中:

#!/bin/bash
unset DISPLAY
exec emacs

我推荐那里的 exec,因为它会用 emacs 替换你的包装脚本;要查看两者之间的区别,您可以运行:

pstree -p
于 2011-01-13T13:44:50.133 回答
1

当我第一次在 Windows 中为 emacs 设置“emacs -nw”别名时,我陷入了一种我认为 tototoshi 的解释不起作用的情况。然而,所需要的只是重新启动我的终端。因此,我认为值得一提的是,在 Windows 中(至少)如果您在 git bash 终端中使用 emacs 来创建 .bashrc 文件并向其中添加“alias emacs='emacs -nw”(正如 tototoshi 提到的那样),您有关闭并重新打开您的终端以使其正常工作。

于 2013-08-23T14:26:05.130 回答