将emacs -nw设置为默认编辑器


13

当编辑文件时sudoers,我想使用emacs而不是nano。所以我跑了这个命令

sudo update-alternatives --config editor

我选择了emacs。唯一的问题是我喜欢在无窗口模式下使用emacs(-nw标志),并且为emacs加上了别名,emacs='emacs -nw'这样我在正常使用中就不能使用任何窗口模式,但是我不知道如何将默认编辑器设置为在无窗口模式下。

换句话说,我需要获取命令sudo visudo和类似的命令来打开编辑器,以使用打开文件emacs -nw。我怎样才能做到这一点?我在Ubuntu 12.04上。


这无关紧要,但是如果您打算使用'emacs -nw'作为默认的终端编辑器,则可能要研究emacsclient并将emacs作为守护程序运行。否则,我认为启动起来太慢了。使用emacs服务器,它几乎可以立即启动,并且设置起来并不困难。
Dodgie '16

Answers:


8

创建一个以-nw标志启动emacs的脚本,例如/ usr / local / bin / emacs-nw。

#!/bin/sh

emacs -nw "$@"

使用update-alternatives --install安装它。

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/emacs-nw 2

将编辑器配置为新脚本。

sudo update-alternatives --set editor /usr/local/bin/emacs-nw

2
对于那些谁不使用更新的替代功能系统,chmod +x /usr/local/bin/emacs-nwexport EDITOR='emacs-nw'.bashrc做的伎俩。
smonff 2014年

1
简单地更新EDITOR shell变量以进行调用emacs -nw是更传统的做法,并且对于这样一个简单的任务,它并不涉及所有这些奇怪的文件创建过程。为什么这样更好?
vaer-k

6

将以下内容添加到您的~/.bashrc文件中(如果不是Bash,则将其添加到您的Shell的配置文件中)。

export EDITOR="emacs -nw"

这应该设置(并导出)一个环境变量,将您的默认编辑器设置为非图形模式下的Emacs。


设置后,EDITOR如何以图形方式打开Emacs?
Manolete'3

2
您可以使用@Manolete command emacs,这将运行不带别名等的Emacs。当然,您也可以unalias emacs参加会议。
Kyrremann '16

@Manolete实际上emacs,使用命令行启动emacs 或单击其图标仍将启动图形形式。在我的文章中,上面的命令只是将EDITOR环境变量设置为“ emacs -nw”,实际上它并未创建别名。它只是告诉Shell您首选的编辑器是emacs -nw。emacs仍将启动图形形式。
haziz

1

我的设定如下 ~/.bashrc

export EDITOR="emacsclient -t -a=\"\""

这将首先尝试连接emacs守护程序服务器(如果已启动),否则先启动守护程序服务器,然后再次连接。

同样地,我的设定如下 ~/.gitconfig

[core]
    editor = emacsclient -t -a=\\\"\\\"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.