我想这个名字意味着今天我们将谈论Vim! 这是什么 为什么需要这个? 如何使用?
阅读我上一篇文章的许多人可能会惊呼:

实际上,可以认为这种做法是不必要的。 最令我深感遗憾的是,即使到现在,仍有一些人会做出类似的推理。 对于那些不认识的人,我将解释:Vim是一种老式的文本编辑器,可在终端中使用,并且采用非标准的方法进行编辑和键入。

一个公平的问题出现了:“为什么要在2018年使用旧程序,甚至没有图形界面?” 答案很简单-很方便。 我同意,因此您可以绝对地谈论任何编辑器,但是这种情况还是很不寻常的。
首先,不,Vim不老-他只有27岁。 他是经典Vi编辑器的继承人。 它更好地适应了现代系统,并具有更广泛的功能。 换句话说,其名称(Vi改进)是完全合理的。 我还想指出的是,有相同想法的更新实现– neovim。
有什么区别?

如果您在YouTube网站上观看与此主题相关的其他视频,那么他们通常会谈论该问题的形而上学部分。 也就是说,关于意识形态,项目开发方式等的差异。 最终用户没有根本的区别。 但是,可以澄清两点:除了将用户界面与程序核心分开之外,某些插件更易于在neovim中安装。 我将更详细地解释第二个。
我认为你们当中总会有人(和猫)对要切换到这样的另一位编辑的提议做出回应:

好吧,neovim赶紧营救! 多亏了他,现在许多现代IDE和“程序员笔记本”中都提供了Vim功能的仿真器。 因此,您可以继续将您喜欢的Sublime Text或CLion与所有插件一起使用,同时在编写代码方面显着提高您的工作效率,并开始从中获得更多乐趣(稍后将对此进行更多介绍)。 这也是增加常见问题解答的好方法,因为“真正的黑客使用Vim或Emacs。”
“好吧,我决定尝试研究一些老式的编辑器,但是为什么使用Vim,而不是至少没有相同的Emacs?” 好吧,这是一个有争议的问题。 Emacs是一种功能更强大的解决方案,可以执行任何操作(甚至可以在其中扮演蛇的角色)。 但是,他的强项也是他的弱项。 它过于广泛和复杂,导致开发和对铁的精确性更高的复杂性。 最后一个参数现在听起来很愚蠢,因为它也是一个控制台编辑器,但是在许多任务(例如通过SSH进行的远程连接)中,这一刻可能至关重要。
(这些行之后的Emacs用户)好了,我们弄清楚了什么是Vim,但是仍然有必要了解为什么以及如何使用它。
“为什么每个人都如此喜欢Vim,以至于在可能甚至不可能的地方都添加了Vim?” (顺便说一句,Emacs也有它。在我看来,越来越多的事情可以列出不存在的东西变得更加容易,但这是不合时宜的。)这个问题的答案并不困难-它的哲学。
您不能只在VIM中启动并键入文本。 为此有一个单独的模式-“插入模式”。 启动程序时,您会发现自己处于普通模式,在该模式下,您可以键入用于编辑文本的命令并在此编辑器的不同模式之间进行切换。 “但这很不舒服! 我只想输入文字!” 从技术上来讲,一台打字机也适用于该任务,但是我仍然会毫不客气地回答。 如果大多数编辑者专注于编写代码,那么Vim会将其转换为文本编辑,并以自己的方式进行。
(实际上,此图片有很深的潜台词。如果有时间,请阅读有关Persona系列的日本RPG的信息。)学习Vim命令时要了解的最重要的事情是,它们大多不是孤立的。 考虑一下整个语言,其中将它们分为动词,名词和形容词(修饰语)。 实际上,尽管每个团队都是一个角色,但每个团队都有一个与英语单词类似的词,并且其顺序可以翻译成完整的句子!

让我们看几个例子,但首先要持有另一张图片(这次有一些有用的东西):

1)。
d2w
==>删除两个词。

2)。
AMew<Esc>
==>追加到“ Mew”行的末尾并返回到正常模式。

3)。
f(ci(Pakahontas<Esc>
==>找到一对方括号,并将其内部内容更改为“ Pakahontas”,然后返回正常模式。

看吗 绝对没有什么复杂的! 当然,这种方法需要习惯并要不断练习,因为您不仅可以学习所有组合,还需要感受它们。 我用Vim编写代码不是因为打字速度更快(您可能已经注意到,我打字速度很慢,而且我也不知道怎么盲目),而是因为它更自然。 而不是一堆ctrl,shift或alt(它们有命令,但命令很少),这是一种非常容易理解的,最重要的是人性化的编辑语言。
(没想到吧?)但是在结束之前,我想插入一些评论:
I.尽管事实上您可以在Vim中使用箭头和鼠标(第二个已在文件“〜/ .vimrc”中配置),但不建议这样做。 它具有大量有趣的命令,可用于将光标移至文本(和屏幕)上,只是它们不再像编辑命令那样直观,因此您必须将其塞满。
(这是黑客时间!)二。 与许多其他编辑器一样,在Vim中,当按下':'键时,会调用一种命令模式。 符号“!” 具有双重含义:
a)如果它紧接在':'之后,则可以在终端后面使用完整的命令。 尽管其中一些被复制为编辑器本身的命令,但例如调用编译器可能很有用。
b)如果它位于Vim命令之后,它将在不将更改保存到文件的情况下执行它。 顺便说一句,这与一个错误(或者,如果需要的话,一个功能)相关联-如果您对文本进行了某些操作,那么即使您将其恢复为原始状态,如果不保存或指定它,编辑器也不会关闭。 '!'
(您是否已经感到Vim如何关心您的数据?)三, 可以在上面的“〜/ .vimrc”中更改各种编辑器和插件设置。 每种口味和颜色都有设置,只有它们不在文件本身中。 默认情况下为空。 要找到所需的参数,请使用“:help”命令。 之后,您可以添加特定组件或插件的名称以立即跳转到您感兴趣的信息。 但是,当然,Internet在这方面会更舒适。
IV。 Vim中有多个命令(例如,“ q”)由用户定义(在“〜/ .vimrc”中)。 但是,如果您尝试直接为它们设置一个值,则它们将被延迟触发,因为它们期望在它们之后发出第二条命令(应确定它们)。 如果您需要一键式命令,建议您使用“ s”,因为 它的功能实际上与“ c”相同。 可以替代,可以这么说。
V.团队'。' 在此编辑器中拥有不可思议的力量。 她知道如何重复上一个命令(或重复执行整个命令)。 原则上,如果您不想记录宏,那么它是用“小馅饼”填充代码的绝佳工具:
VI。 Vim让我想起了一些旧的48K ZX Spectrum计算机。 它们也具有一键式命令,但它们是针对Basic编程语言的。 因此,开发人员试图减少程序所需的RAM数量。

作为培训材料,我建议使用vimtutor程序。 纯粹从技术上讲,它只是用Vim中的简短教程打开文件,但是这种方法使您可以与理论部分的学习并行进行实践。 然后练习,练习,然后再次练习!
好吧,实际上,我想谈谈Vim的所有内容。 老实说,我对此编辑感到非常满意。 他的哲学具有极强的感染力,并且与整个Unix系统相似(一切都是简单,清晰和合乎逻辑的,但是需要习惯并记住)。 因此,如果您正在寻找一个好的文本编辑器或想获得新的文本编辑体验,那么您将找不到更好的地方。
祝您幸福,健康和KDE不会摔倒!
资料来源1)关于主题:
a)实际上,vitmutor
b)带有键盘的图片来自
viemu网站
c)我还阅读了有关此主题的
维基百科 。
2)非主题:
a)关于YouTube上的Persona系列,有很多视频及其详细分析。 也许最有价值的是Filinov
's Place kakala的视频,但作者到目前为止在第二部分停了下来(这不是错别字)。
b)关于Spectrum最近录制了一个很好的视频
Dmitry Moiseevc)我个人资料图片中的图片作者-Fluff-Kevlar