我正在尝试将默认编辑器从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

我还需要做什么?

评论

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

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

#1 楼

尝试ssh会话,然后跟随

export EDITOR=vim


或可能

export EDITOR=/usr/bin/vim.basic


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

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

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

评论


这也适用于CentOS

–machineaddict
16年5月11日在11:35



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

–内特
17 Mar 27 '17 at 23:08

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

–麦卡拉
18年5月23日在12:02

#2 楼

只需运行select-editor,这将让您选择所需的任何编辑器。

评论


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

– Paul Carlton
16 Mar 8 '16 at 16:15

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

–法迪
17年4月26日在15:10

这是唯一对我有用的答案

– cjohansson
2017年9月1日4:00在

最佳答案。 ...

–我们是博格
17年9月13日在7:43

继续是去的答案!谢谢@MostafaShahverdy!

–亲爱的
18年5月12日在22:58

#3 楼

我个人的喜好...

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


评论


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

–科尔·布斯比(Cole Busby)
2014年1月28日在19:13

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

–最大
17年4月27日在9:04

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

– gwideman
'18 Sep 5'在0:30

#4 楼

如果只想临时选择编辑器,则可以执行以下操作

EDITOR=nano crontab -e


这将为命令设置EDITOR环境变量

#5 楼

来自“ 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?

#6 楼

在我的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”

–辛索糖
16-09-20在19:37



#7 楼

我在使用select-editorupdate-alternatives时遇到困难,我的解决方案是简单地编辑链接:


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

editor现在打开Vim

#8 楼

我遇到了同样的问题-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(例如,查看sudo优于su的好处是什么

– Marc Vanhoomissen
17年7月12日在15:08

#9 楼

在尝试了上面的答案之后,唯一对我有用的方法(在Debian strech中)是通过运行以下命令来删除~/.selected_editor

rm ~/.selected_editor


,然后下次选择新的编辑器您运行crontab -e

评论


这适用于我的GCE linux ubuntu。谢谢

–杰森·米
20 May 14 '13:59

#10 楼

除了检查环境变量EDITOR的设置是否正确外,还应检查以确保变量VISUAL的设置也正确。
VISUAL将覆盖EDITOR
从文档中:

-e选项用于使用由VISUAL或EDITOR环境变量指定的
编辑器来编辑当前crontab。例如,如果设置了
$ export EDITOR=vim
$ export VISUAL=nano

然后命令crontab -e仍将在nano中打开。
应将两者都设置为首选编辑器,对我来说是vim:
$ export EDITOR=vim
$ export VISUAL=vim

然后命令crontab -e将在vim中打开。