16.04:crontab -e编辑器设置/ vim中的Python语法高亮显示

crontab -e默认使用vi进行编辑。

这通常不是问题。 vi是一个优秀的编辑器,易于学习。


最近我开始使用安装的vim

 sudo apt-get update sudo apt-get install vim 

并且为了使它在按Tab键时显示行号并默认为适当数量的空格,以及Python开发的语法高亮显示,

我的/home/username/.vimrc文件的内容如下:

 syntax enable set number set ts=4 set autoindent set expandtab set shiftwidth=4 set cursorline set showmatch let python_highlight_all = 1 

这很好。


但是,当我使用crontab -e它会给出以下错误消息:

抱歉,此版本中没有该命令:syntax enable

抱歉,此版本中的命令不可用:let python_highlight_all = 1

按ENTER或键入命令继续

然后按Enter键允许它继续进入vi以编辑cron表。

问题:它试图使用什么版本的vi? 有没有办法将它设置为正常的vim? 或者将其设置为另一个编辑器?

crontab -e默认使用vi进行编辑。

并不是的。 按man crontab

-e选项用于使用VISUALEDITOR环境变量指定的编辑器编辑当前的crontab。 退出编辑器后,将自动安装修改过的crontab。 如果未定义任何环境变量,则使用默认编辑器/usr/bin/editor

/usr/bin/editor是由替代系统管理的符号链接:它指向/etc/alternatives/editor ,它本身是实际编辑器的符号链接。 它实际上没有“默认”值,因为它的值随时取决于实际安装在系统上的编辑器。 您可以使用ls -l /etc/alternatives/editor获取其当前值,并使用sudo update-alternatives --config editor对其进行修改。

使用env命令检查环境时

 env 

没有指定默认的EDITOR。

不想浪费时间试图找出它试图使用的vi版本,简单地解决问题似乎更好。

因此,解决方案很简单。

 export EDITOR=gedit 

或者,它可以设置为您喜欢的编辑器,如下所示:

 export EDITOR=nano 

要么

 export EDITOR=leafpad 

一旦在环境中指定了EDITOR, crontab -e使用它。

简短又甜蜜。


要使此更改在登录时生效,此行可以附加到/home/username/.bashrc