我使用 emacs 作为我的首选编辑器,并且由于我在终端中做了很多工作,所以我总是将 emacs 运行为
emacs -nw
以便它在终端而不是在窗口中运行。
我只想运行emacs
并让它知道它应该在终端中运行。我的问题是 - 如何编辑我的.emacs
文件以使其成为默认行为?
您不能在.emacs
文件中执行此操作。在解析该文件时,“选择的”emacs 二进制文件已经在运行。
您可以按照一位评论者的建议安装该emacs-nox
软件包,或者在您的 shell 中创建一个别名,以便“emacs”始终被视为“emacs -nw”。
兰迪
我正在使用 bash 别名而不是 .emacs 来做到这一点。
将此行添加到您的 ~/.bashrc。
alias emacs='emacs -nw'
一般来说,有任何简单的方法可以解决与 emacs 完全无关的问题,并且适用于任何可以在控制台和 X 中运行之间进行选择的程序:
unset DISPLAY
当然,您可能不想将其放在配置文件中以全局应用于所有 shell 会话,因此如果您希望它仅应用于 emacs,则可以从命令行调用它,如下所示:
DISPLAY= emacs
注意空格!!!如果您将空格留出,则意味着您将 DISPLAY 设置为 emacs 而不是将 DISPLAY 设置为空...此命令是以下内容的简写:
DISPLAY=; emacs
因此,要么从命令行使用上述内容,要么将其放入看起来像这样的包装脚本中:
#!/bin/bash
unset DISPLAY
exec emacs
我推荐那里的 exec,因为它会用 emacs 替换你的包装脚本;要查看两者之间的区别,您可以运行:
pstree -p
当我第一次在 Windows 中为 emacs 设置“emacs -nw”别名时,我陷入了一种我认为 tototoshi 的解释不起作用的情况。然而,所需要的只是重新启动我的终端。因此,我认为值得一提的是,在 Windows 中(至少)如果您在 git bash 终端中使用 emacs 来创建 .bashrc 文件并向其中添加“alias emacs='emacs -nw”(正如 tototoshi 提到的那样),您有关闭并重新打开您的终端以使其正常工作。