我找到了另一种将 Vim 设置为 Ubuntu 中的默认文本编辑器的方法,但我想知道为什么本教程对我不起作用:
https://www.a2hosting.com/kb/developer-corner/linux/setting-the-default-text-editor-in-linux
这是我所做的:
我编辑了 ~/.bashrc,添加了以下两行:
export EDITOR='vi'
export VISUAL='vi'
然后我输入命令:
source .bashrc
我也尝试退出我的帐户然后重新登录,但仍然不起作用。
当我尝试打开 /etc/sudoers 文件时,它会使用 Nano 文本编辑器而不是 Vim 打开。
答案1
以下命令更改系统的默认编辑器:
sudo update-alternatives --config editor
系统将提示您可用的编辑器,从列表中选择 vim。
答案2
这您关注的链接不幸的是,它是由 ChatGPT 生成的,它展示了 AI 生成内容的一些问题(以及为什么我们在 Ask Ubuntu 上禁止 AI 生成的答案)参见脚注。看到一家信誉良好的托管服务提供商使用 ChatGPT 生成的文章,令人惊讶,也有点失望。
现实情况是,从历史上看,选择编辑器的方法有很多种,不同的应用程序使用不同的方法。ChatGPT 做出了一个很好的“猜测”(它经常这样做),但这种方法只适用于某些应用程序,所以我认为它是“错误的”,因为它回答了一篇文章,“如何在 Linux 中设置默认文本编辑器”正确的答案应该是,“这取决于应用”。
例如:
crontab -e
用于select-editor
允许用户在第一次运行时选择他们喜欢的编辑器。但是,如果存在EDITOR
和环境变量,则它们将覆盖此选择。VISUAL
相反,
git
默认使用,它可以被或环境变量vi
的存在所覆盖,而后者又可以被Git 配置所覆盖。EDITOR
VISUAL
core.editor
visudo
能使用EDITOR
和变量,但仅当在中配置了或设置时VISUAL
(如果我没有看错man visudo
的话)。默认情况下,如果没有这些设置和变量,则默认为。在 Ubuntu 下,使用系统,是指向的符号链接,而后者又是指向您首选编辑器的符号链接(默认情况下)。editor
env_editor
sudoers
/usr/bin/editor
alternatives
/usr/bin/editor
/etc/alternatives/editor
nano
正如在其他现有答案,可以使用命令更新此符号链接(与替代系统中的任何符号链接一样)
update-alternatives
。
并且这些选择默认编辑器的方法甚至可以在不同的发行版中有所不同,并且一些默认值可以编译到应用程序中。
脚注
当然,人类也很容易犯类似的错误(我也不能保证我的系统没有错误),但 ChatGPT(至少目前)似乎有能力给出不会出错的答案。相当回答所问的问题(如本例),或者更糟的是,完全编造根本不存在的设置。