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

Max*_*ams 113 bash text-editors ubuntu

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

通常这不是问题,因为我只是 vi 或 gedit 一切,但crontab -e正在用 nano 打开。我尝试使用sudo update-alternatives --config editor并选择选项 3(“/usr/bin/vim.basic”)将其更改为 vim 。这已经改变了 sudo 和非 sudo 的情况。但是crontab -e还是打开nano。有任何想法吗?最大限度

njd*_*njd 146

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

export VISUAL=vim
Run Code Online (Sandbox Code Playgroud)

或者

export EDITOR=vim
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩。

  • 请记住,如果您正在编辑其他用户的 crontab,请使用 `sudo -E crontab -e`,其中 `sudo -E` 指定使用您的环境变量。 (9认同)

小智 98

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

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"
Run Code Online (Sandbox Code Playgroud)

  • @eelghEEz - 你是说`~/.selected_editor` 吗?这就是我的系统上的内容以及我在其他地方看到的内容。 (5认同)
  • 上面的答案不起作用……确实如此。 (4认同)
  • 是的,这改变了 /usr/bin/sensible-editor 使用的 ~/.sensible_editor。似乎在没有指定编辑器的环境变量的情况下,crontab 运行 sensible-editor 而不是 editor,因为前者允许按用户进行配置。 (2认同)
  • @MaxWilliams,运行 select-editor 不会显示之前所做的选择,它存储在 ~/.sensible_editor 中。 (2认同)

com*_*tic 19

如果你非常讨厌nano,你可以卸载它:

sudo apt-get remove nano
Run Code Online (Sandbox Code Playgroud)

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


cYr*_*rus 12

来自man crontab

-e 选项用于使用编辑器编辑当前的 crontab
由 VISUAL 或 EDITOR 环境变量指定。在你之后
退出编辑器,修改后的crontab会自动安装吗?
呼唤。如果两个环境变量都没有定义,那么
使用默认编辑器 /usr/bin/editor。

添加到您的~/.bashrc

export EDITOR=vim
Run Code Online (Sandbox Code Playgroud)


小智 5

export EDITOR=vi && crontab -e 
Run Code Online (Sandbox Code Playgroud)

适用于 debian 挤压

  • 这将设置 EDITOR 环境变量并随后编辑 crontab 文件,`EDITOR=vim crontab -e` 也可以工作,但只有一次。 (3认同)
  • 稍微解释一下会有很长的路要走。 (2认同)

Gil*_*not 5

更好的选择是设置编辑器的替代方案(不仅仅是一个用户):

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
Run Code Online (Sandbox Code Playgroud)

  • 为什么最好为没有要求更改的其他用户更改设置? (4认同)