更改默认的crontab编辑器


138

我试图将默认编辑器从更改nanovim

我已经运行了以下命令:

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中打开

我还需要做什么?


1
我认为这些答案中的任何一个都不能真正解决问题吗?
geotheory,2016年

这是一个更广泛的答案: askubuntu.com/questions/977538/…–
SDsolar

Answers:


121

尝试ssh会话,然后再尝试

export EDITOR=vim

或可能

export EDITOR=/usr/bin/vim.basic

EDITOR变量的设置格式取决于您使用的外壳。

在Ubuntu中,您可以通过将以上内容添加到登录中来设置登录时的EDITOR环境变量。 ~/.profile

您的SSH会话将在名为的远程主机上读取一个类似的文件(如果存在) ~/.ssh/environment。这必须由ssh守护程序配置专门定义。查看man sshd_config并寻找PermitUserEnvironment更多详细信息。


1
这也适用于CentOS
Machineaddict

有什么理由不想在这里使用.bashrc吗?似乎对我有用,还是.profile更好?
内特

3
下面的选择编辑器答案是一个更好的答案
mcarans

213

只需运行select-editor,就可以选择所需的任何编辑器。


9
我认为比选择的答案更好。无需更改我的bash配置文件即可设置编辑器。通过注销并重新登录验证。
保罗卡尔顿

4
应该是公认的答案。谢谢莫斯塔法!
DylanYoung '16

3
绝对应该被接受!这很有帮助!:D
Fadi

3
这是唯一对我
有用的

3
最佳答案。...
我们是博格

26

我个人的喜好...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano

我喜欢它,在更新替代方法无效后,对我来说足够好了。
Cole Busby 2014年

5
对于那些不了解学习vi命令只是为了调整一些配置文件的价值的管理员,我不知道nano有什么问题。
最多

1
我想在自己的个人计算机上做任何您喜欢的事情。但是,在与其他任何人共享的计算机上,此建议实际上对所有用户禁用了nano,即当用户明确要求nano时,他们会获得vim。有什么意义呢?如果他们想要vim,他们会要求它。如果这里的问题是系统配置为在您个人更喜欢vim的某些情况下自动调用nano,则更改配置。
gwideman

13

来自“ 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环境变量设置为nano?



11

在我的Ubuntu 12.04计算机上,crontab使用该~/.selected_editor文件,其中包含所选编辑器的路径。编辑它:

nano ~/.selected_editor

我已经直接对其进行了编辑或使用select-editor,它是执行相同操作的脚本。编辑以下行:

SELECTED_EDITOR="/usr/bin/vim.basic" 

IHMO人员不应更改/ etc或/ bin中的任何内容来执行此操作。这是用户级别的事情,而不是系统范围的任务。


为gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose

2

我有困难select-editorupdate-alternatives,我的解决办法是简单地编辑的链接:

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

editor 现在打开Vim


2

我遇到了同样的问题-crontab -e依赖于select-editor,visudo依赖于“ alternatives”的配置

我的解决方案:

以root身份运行两个命令

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50

# select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/sensible-editor
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [1]: 3

作为根?更好地使用sudo(例如
Marc Vanhoomissen
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.