“乔自己的编辑”对我来说并不自然。如何更改为使用 nano 或 vim?
我试过了
export EDITOR=nano
但似乎并没有受到尊重。我visudo
也想尊重这一点。
答案1
要在系统级别更改默认编辑器:
sudo update-alternatives --config editor
然后按照屏幕上的提示进行操作。
答案2
更改帐户默认编辑器的方法是设置EDITOR
环境变量。如果这对你不起作用,那么你就做了一些不寻常的事情。检查您是否还定义了VISUAL
,或者如果定义了,请为这两个变量指定相同的值(请参阅VISUAL 与 EDITOR — 有什么区别?)。将这些行添加到您的~/.profile
(注意:不~/.bashrc
):
EDITOR=nano
VISUAL=$EDITOR
export EDITOR VISUAL
在下面Debian 政策,所有程序都应该支持EDITOR
并VISUAL
设置默认编辑器。
在 Debian 及其衍生版本下,您可以使用替代机制设置系统范围的默认编辑器,正如史蒂夫·罗比拉德提到的:update-alternatives --config editor
以 root 身份运行。
答案3
上面提到的解决方案有效,但不可编写脚本。如果您想以可编写脚本(非交互式)的方式执行此操作,您应该使用 --set:
# update-alternatives --set editor /usr/bin/vim.basic
您可以通过以下方式获取选项列表:
$ update-alternatives --list editor
答案4
我遇到了同样的问题,但是通过 update-alternatives 设置它并不能完全解决 Raspbian Buster (10.2) 上的问题。虽然我将 vim.basic 设置为默认编辑器(手动使用 update-alternatives --config 编辑器),但它的优先级只有 30,而 nano 的优先级为 40。
root@rsyslog:~/scripts# update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number:
我开始查看常用的配置文件和点文件,并发现了以下文件:
root@rsyslog:~/scripts# cat /root/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/bin/nano"
root@rsyslog:~/scripts#
设置 vim.basic 之后通过/usr/bin/选择编辑器,该文件包含 vim.basic:
root@rsyslog:~/scripts# /usr/bin/select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 2
root@rsyslog:~/scripts# cat /root/.selected_editor
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"
root@rsyslog:~/scripts#
现在我可以再次使用 VIM 执行 crontab -e :)。