问题描述
我试图将nano
的默认编辑器更改为vim
。
我运行了以下命令:
sudo update-alternatives --config editor
和
update-alternatives --config 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 10 manual mode
我重新启动了我的ssh会话并重新启动了sshd,但crontab -e仍然以nano打开
我还需要做什么?
最佳解决方法
尝试一下你的ssh会话
export EDITOR=vim
或可能
export EDITOR=/usr/bin/vim.basic
EDITOR变量的设置格式取决于您正在使用的 shell 。
在Ubuntu中,您可以通过将以上添加到~/.profile
来设置登录时的EDITOR环境变量
您的SSH会话将在名为~/.ssh/environment
的远程主机上读取一个类似的文件(如果存在)。这必须由ssh守护程序配置专门定义。有关更多详细信息,请参阅man sshd_config
并查找PermitUserEnvironment
。
次佳解决方法
只需简单地运行select-editor
,这将让您选择任何你想要的编辑器。
第三种解决方法
我的个人偏好…
cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano
第四种方法
来自”man crontab”:
The -e option is used to edit the current crontab using the editor
specified by the VISUAL or EDITOR environment variables. After you
exit from the editor, the modified crontab will be installed automati‐
cally. If neither of the environment variables is defined, then the
default editor /usr/bin/editor is used.
也许你已经将EDITOR enivronment变量设置为nano了?
第五种方法
在我的Ubuntu 12.04计算机上,crontab
使用~/.selected_editor
文件,其中包含所选编辑器的路径。编辑它:
nano ~/.selected_editor
我直接编辑它或使用select-editor
,这是一个脚本来做同样的事情。编辑以下行:
SELECTED_EDITOR="/usr/bin/vim.basic"
IHMO人员不应该改变/etc或/bin中的任何内容来执行此操作。这是一个用户级别的事情,而不是系统范围的任务。
第六种方法
如果您只想暂时选择编辑器,则可以执行以下操作
EDITOR=nano crontab -e
这为该命令设置了EDITOR
环境变量
第七种方法
我在select-editor
和update-alternatives
上遇到困难,我的解决方案是简单地编辑链接:
-
sudo rm /etc/alternatives/editor
-
sudo ln -s /usr/bin/vim /etc/alternatives/editor
editor
现在打开Vim