当前位置: 首页>>技术教程>>正文


更改默认的crontab编辑器

, , ,

问题描述

我试图将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-editorupdate-alternatives上遇到困难,我的解决方案是简单地编辑链接:

  1. sudo rm /etc/alternatives/editor

  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor现在打开Vim

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/649.html,未经允许,请勿转载。