我已经使用Linux大约25年,在此之前使用Unix几年。在此期间,我对我每天使用的一些工具产生了偏好。Vim是我使用的最重要的工具之一。我在90年代初期学习Solaris时就开始使用Vi,因为有人告诉我它可以在任何系统上运行。根据我的经验,确实如此。我也试过其他编辑器,他们都能胜任。然而,对我来说,Vim的效果最好。我经常使用它以至于我有肌肉记忆,甚至在使用其他编辑器时下意识地按下Vim快捷键。另外,我就是喜欢Vim。许多配置文件使用名称Vi而不是Vim,您可以运行vi命令。然而,vi命令实际上是vim命令的链接。许多Linux工具使用模拟或直接调用Nano、Emacs或Vim的编辑器。其他工具允许用户(例如那些有明确偏好的用户)使用他们喜欢的编辑器。对我影响最大的两个示例是默认使用Emacs的Bash命令行和默认使用Pico的Alpine文本模式邮件客户端。事实上,Pico是专门为Alpine的前身Pine邮件客户端编写的。并非所有使用外部编辑器的程序都是可配置的。有些程序只使用开发者指定的编辑器。对于那些可配置的应用程序,有不同的方法来选择您喜欢的编辑器。在Linux命令行上编辑除了实际编辑文本文件外,我经常使用的另一个与编辑密切相关的工具是Bashshell。Bash的默认编辑器是Emacs。虽然我也使用过Emacs,但我绝对更喜欢Vim。很多年前,我将Bash命令行的默认编辑器从Emacs切换到Vim,这对我来说更舒服。有许多配置Bash的方法。您可以使用本地配置文件,例如/home/yourhomedirectory/.bashrc,它只会对您的用户帐户进行默认更改,而不会对同一系统上的其他用户进行更改。就我个人而言,我倾向于将这些更改全局化,基本上是我的个人帐户和根目录。如果你还想全局配置,你可以创建自己的配置文件并将其放在/etc/profile.d目录中。我在/etc/profile.d中添加了一个名为myBashConfig.sh的文件。所有已安装shell的启动文件都存储在/etc/profile.d目录中。启动终端会话时,每个shell只读取为它准备的启动文件,基于文件名的扩展名。例如,Bashshell只读取扩展名为.sh的文件。aliasvim='vim-c"colorschemedesert"'#将vi设置为Bash的默认编辑器set-ovi#为所有检查$EDITORvariable=vi的程序将默认编辑器设置为在此全局中Bash配置文件部分,set-ovi将Vi设置为默认编辑器。此set命令中的-o选项将vi定义为编辑器。要使配置生效,您需要关闭所有正在运行的Bash会话并打开新会话。现在,您可以使用您熟悉的所有Vim命令,包括光标移动。只需按Esc键即可进入Vim编辑模式。我特别喜欢多次使用b将光标移回多个单词的功能。将Vim设置为其他程序的默认值某些Linux命令行工具和程序会检查$EDITOR环境变量以确定要使用的编辑器。您可以使用以下命令检查此变量的当前值。我在新安装的虚拟机上运行此命令以查看默认编辑器是什么。#echo$EDITOR/usr/bin/nano#默认情况下,检查$EDITOR环境变量的Fedora程序将使用Nano编辑器。将行EDITOR=vi添加到myBashConfig.sh(如上面的代码片段所示)以将默认值更改为Vi(Vim)编辑器。但是,并非所有使用外部编辑器的命令行程序都会检查此环境变量。在Alpine中编辑电子邮件几周前,我认为Pico不是适合我的电子邮件编辑器。我可以使用它,从Thunderbird切换到Alpine后我用了一段时间。但是我发现Pico挡住了我的路,我一直习惯于使用Vim键序列,这影响了我的工作效率。我在Alpine的用户帮助中看到可以修改默认编辑器。我决定将其更改为Vim。这实际上很容易做到。在Alpine主菜单上,按S进入设置,然后按C进行配置。在“EditorSettingsComposerPreferences”部分,按X选择“EnableAlternateEditorCommand”和“EnableAlternateEditorImplicitly”项。在“高级用户首选项”部分向下滚动几页并找到“编辑器”行。如果它没有被修改,它应该看起来像这样:Editor=用光标条突出显示Editor行并按Enter键进行编辑。将改成vim,回车,然后按E退出,最后按Y保存修改。要使用Vim编辑电子邮件,只需输入电子邮件文本,Vim就会自动启动,就像Pico一样。我喜欢的所有编辑功能都还在,因为它实际上是在使用Vim。甚至退出Vim的Esc:wq顺序也是一样的。总而言之,与其他编辑器相比,我更喜欢Vim,通过对我的系统进行这些更改,默认使用其他编辑器的应用程序将使用Vim作为它们的默认编辑器。一些程序使用$EDITOR环境变量,因此您只需要进行一项更改。其他具有用户可配置选项的程序,例如Alpine,必须为每个程序单独设置。这种选择自己喜欢的外部编辑器的能力非常符合Unix哲学的宗旨:“每个程序只做一件事,并且把它做好”。既然已经有好几个好编辑了,为什么还要再写一个呢?它符合Linux哲学的原则:“使用你最喜欢的编辑器”。当然,您可以将默认文本编辑器更改为Nano、Pico、Emacs或您喜欢的任何其他编辑器。