将crontab的默认文本编辑器更改为vim


100

我正在使用ubuntu 9.10,默认的文本编辑器是nano,我讨厌它。(不是所有人吗?)

通常这不是问题,因为我只是在vi或gedit一切,而是crontab -e在nano上打开。我尝试使用sudo update-alternatives --config editor并选择选项3(“ /usr/bin/vim.basic”)将其更改为vim 。这已将其更改为sudo和non-sudo。但crontab -e仍然打开纳米。有任何想法吗?最高

Answers:


124

crontab -e命令将检查环境变量$EDITOR$VISUAL覆盖默认文本编辑器,因此...

export VISUAL=vim

要么

export EDITOR=vim

应该可以。


6
请记住,如果您正在编辑其他用户的crontab,请使用sudo -E crontab -ewhere sudo -E指定使用您的环境变量。
MarkHu

90

在ubuntu中,尝试运行:select-editor,以交互方式创建~/.selected_editor

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

我尝试了这个(在sudo和我的用户下),无论我更改了什么选项,当我再次调用它时,它仍然在nano上。还是用EDITOR env var修复了它,但是我还是想提一下。干杯
马克斯·威廉姆斯

4
上面的答案没有用...这样做。
mlissner 2013年

2
是的,这更改了/ usr / bin / sensible-editor使用的〜/ .sensible_editor。似乎在没有指定编辑器的环境变量的情况下,crontab运行的是明智编辑器而不是编辑器,因为前者允许按用户配置。
eel ghEEz 2015年

2
@MaxWilliams,运行select-editor不会显示先前所做的选择,该选择存储在〜/ .sensible_editor中。
eel ghEEz 2015年

5
@eelghEEz-你的意思是~/.selected_editor?这就是我的系统上以及其他地方看到的内容。
Wilson F

12

如果您讨厌nano的话,可以将其卸载:

sudo apt-get remove nano

crontab然后应该默认为下一个EDITOR(对我来说是vim.basic)。


我们使用超级用户帐户运行cron作业,但登录到开发帐户。因此,从开发人员帐户来说,我需要这样做sudo crontab -e。我export EDITOR=vim在超级用户和开发人员帐户中都设置了.bashrc,但sudo crontab -e仍在nano中打开。卸载nano后,它将打开vim。谢谢!
2013年

1
这是唯一对我有用的解决方案。在此之前尝试了4-5件事:)
查理·永利

如OP所暗示的那样,这是迄今为止最好的解决方案,您根本不需要nano。不知道为什么以前没有发生过-可能我没有意识到crontab只会默认为下一个可用的编辑器!很棒
路加福音

11

来自man crontab

-e选项用于使用编辑器编辑当前crontab
由VISUAL或EDITOR环境变量指定。在你之后
从编辑器退出时,修改后的crontab将自动安装
凯莉。如果两个环境变量均未定义,则
使用默认编辑器/ usr / bin / editor。

添加到您的~/.bashrc

export EDITOR=vim



3

不幸的是我无法发表评论或投票。

在Ubuntu上,配置文件称为 ~/.selected_editor

使用以下命令,您可以再次选择默认编辑器

$ select-editor

删除主目录中的文件也可以。

$ rm ~/.selected_editor

仅设置变量$VISUAL$EDITOR将起作用,但只有将其写入在您的环境中执行的脚本时才是持久的。

添加到您的rc文件

$ echo "export VISUAL=/usr/bin/vi" >> ~/.bashrc

但是我不建议使用最后一种解决方案。


如果您不推荐它,为什么要提供呢?
Ramhound

仅出于完成目的,因为其他人可能更喜欢这种方式。
安德烈

0

您最好删除该~/.sensible_editor文件,然后运行crontab -e将提示您选择首选编辑器。
从那时起,您的偏好将被记住在~/.sensible_editor文件中。


不知道为什么这被否决了,这正是我所需要的,并且运行良好。

Ubuntu似乎不知道emacsclient
ceving 2013年

-1

对于Debian,请使用:

sudo update-alternatives --config editor command

 ----------------------------------------------------------
06  * 0          /bin/nano            40       
07  1            /bin/nano            40       
08  2            /usr/bin/vim.basic   30        
09  3            /usr/bin/vim.tiny    10        

选择“ 2”,然后按Enter。得到它了!


欢迎来到超级用户!请仔细阅读问题。您的答案没有回答原始问题。行动党已经尝试过了(这是问题所在),但没有解决他的问题。
DavidPostill

-1

最简单的方法是摆脱不需要的产品。所有其他配置更改将是自动的。

apt-get install vim -y && apt-get remove nano -y


-1

在某些Debian机器等较旧的机器上,这也是可行的,也是最可移植的解决方案。

mv /usr/bin/editor /usr/bin/.editor
ln -s $(which vim) /usr/bin/editor

不,请勿/usr/bin手动干预。这些位置由管理dpkg,不应直接操作。
Tripleee '18
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.