从使用前半个小时起,vi的强大功能给我留下了深刻的印象。然后,我发现在某些工作环境中,有很多人(技术人员,甚至系统管理员!)在没有运行vimtutor的情况下将其避免为“过于复杂”,还有其他人仅在插入模式下使用vi错过了模态编辑的全部内容。 >我对成功使他人(或您自己)学习和使用Vim的任何实际历史特别感兴趣。

评论

我阅读了有关主观问题的指南,我认为这很合适。

@Wildcard也许确实适合主观问题,但是它确实太广泛了。有关类似“主观”问题的讨论,请参见meta.vi.stackexchange.com/q/1278/205。

我明白你的意思了。我通读了该讨论(以及一些相关的讨论)。我仍然认为这个问题是适当的,但是我不认为我应该在这里讨论这个问题。在meta中应该讨论的地方吗?

@Wildcard始终可以在Vi和Vim Meta上发布有关此问题的问题。

@Rich这是一个中型帖子的示例:为什么我喜欢Vim:鲜为人知的功能使它如此神奇。

#1 楼

尽管我已经在Vim及其生态系统上进行了一些投入,但是我并没有积极尝试转换其他人。与我共事的大多数人根本不花很多时间来改善他们的工作流程和工具集,因为他们对自己拥有的东西感到满意。我发现这非常好……而且我不希望成为与编辑有关的永久化宗教化的目标,因此我不将其强加给他人。

有时候,我的热情可能会吸引一个同事并问我几个问题。当发生这种罕见的事件时,我非常乐于讨论这个主题,演示一些绝妙的技巧,并向他/她指出有用的资源。

在我上一份工作中,一位同事对Vim十分感兴趣并且非常了解基本知识(vimtutor)。对于他来说,执行快速编辑就足够了,但是他缺乏信心,也缺乏真正切换到Vim的专业知识(这是他真正想要的)。有一次,他不得不手动对一个大型JSON文件进行一系列重复的编辑。浪费一个小时的想法使他感到沮丧,于是找我寻求更快或更智能的解决方案。当然,一个简单的宏在不到一分钟的时间内就完成了工作(包括录制),这使我能够解释一些关键概念……

新手面临的一个问题是“现在呢?” vimtutor之后的瞬间。 Vim很好地隐藏了它的美丽,没有多少人愿意在没有帮助的情况下破解该外壳。如果需要的话,我可以提供帮助…但是我绝不会将Vim强迫他人。

#2 楼

我用Vim做所有事情。我是说一切编程,文字处理,写小说等。一切。我一直坐在一个经销店,使用Surface Pro 3和Vim一起运行Linux Virtual Box,让人们就我在做什么与我进行对话。

只使用Vim。人们会蜂拥而至,以了解您在做什么以及为什么这么做。我通常用这种方式来解释-

我使用Vim是因为它占用的空间很小。 Microsoft Word是几GB,而我的Surface只有128 GB的空间。我需要最大限度地利用空间,Vim可以帮助我做到这一点。它也是可扩展的,可以帮助我保持专注。来看演示我的一些插件,并展示全屏Vim如何覆盖所有内容,以便于思考。

我经常结合LamX和Vim演示LaTeX。我将构建一个LaTeX文件,然后使用我拥有的模板将其编译为精美的PDF。我还演示了我的来信和简历模板。我强调从内容中分解样式的重要性。至此,人们对我不得不说的话不再感兴趣,并且后悔跟我说话。 Vim不只是文字处理程序,更是一种宗教经验。

评论


只是想知道:您是否也在vim中编写电子邮件? (我做!)

– Oliphaunt-恢复莫妮卡
2015年10月8日17:57

@Oliphaunt我确实在VIM中写电子邮件。我选择的电子邮件客户端是MUTT,当我编辑或创建新电子邮件时,它将打开我选择的编辑器。我什至使用VIM向我的RSS feed阅读器(newsbeuter)添加URL。

– ILikeTurtles
2015年10月8日,19:12

有些人决定通过声明我使用Visual Basic来编辑我的答案。我使用Virtual Box并在Windows之上运行Linux。但是,我认为这些编辑非常有趣,因此我将其保留。这有点像编辑电话。故事不断变化,越来越多的人对其进行编辑。好玩

– ILikeTurtles
2015年10月12日16:46

@威尔我有一个占用2 GB或更少内存的VM。我宁愿安装整个操作系统,VIM和所有其他工具,而不是安装4GB或Microsoft工具的任何副本。如果需要,VM本身可以扩展,但这还没有发生,因为在处理特定计算机时,我主要处理文本文件。如果我使用的是FreeBSD,则可能会占用更小的内存,并可能在一次演出中运行整个VM。

– ILikeTurtles
2015年10月21日在16:47



Office 365需要多达6GB的硬盘驱动器空间和多达4GB的内存。我可以使用4GB的高清空间和1028MB的ram运行整个linux操作系统。如果我想推动事情,那就少了。我已经在VM中运行FREEBSD,并且只给了它256MB的内存。对我来说,VIM取代了Office,但除此之外,完整的操作系统安装为我提供了比Office提供更多的工具,而占用的空间更少。我希望这是有道理的。

– ILikeTurtles
2015年10月21日在16:54

#3 楼

在命令模式下演示点('。')的功能。一键轻松重复进行复杂的编辑通常看起来很神奇。

评论


是。这里有一些例子

–roblogic
16-2-9在1:10



#4 楼

作为必须在上一份工作中学习Vim的人,我想说最大的障碍是摆在没有设置任何选项的“默认”安装之前。我大部分时间都在说:“为什么当每个人都希望这样做相反时,为什么这样做呢?”

事实证明,每个其他人都已经设置了一些“理智”的默认值。一旦知道了这一点,我就会变得更加快乐,并且“给了机会”去学习更多。几天后,数字键盘不起作用,制表符错误,搜索无法正常工作等。我准备扔掉毛巾,再也不回头。

如果您真的希望有人喜欢它足以尝试学习更多高级功能,并使用针对他们需要完成的工作类型进行了优化的设置文件从右脚开始使用它们。

评论


看,我没有提到您所提出的这些讨厌的期望。这得益于这样的认识:它诞生于当今普通用户熟悉产品的几十年。我对更好的工作方式持开放态度,无论他们是否熟悉。确实,用您自己的设置文件为新手做准备不是一个很好的教程!

– underscore_d
2015年10月10日14:28



+1。我有同样的经历,不能同意。完成工作后,切换到任何新的编辑器都会很痛苦/不可能。不仅仅知道.vimrc的交接,而是解释它的含义并帮助新用户为其工作风格设置一些默认值,不仅可以帮助他们迅速提高工作效率,而且还可以作为暴露一部分vi的一种方式(m)的魔力。

–将
15年10月21日在16:11

读取带有大量有用默认值的.vimrc文件非常有用。通过查看github.com/amix/vimrc中设置的选项,我已经学到了很多关于Vim的知识。

–icc97
17年3月31日在7:58

我完全同意。如果包括更多电池,Vim将会更受欢迎。例如,查看使单词交换工作所需要做的事情。从目前的情况来看,vim提供了一个基本的构建块,您必须从中配置/编程一个梦always以求的文本编辑器。

– Serge Stroobandt
18-09-25在21:23



#5 楼

激发老狗使用新技巧的最佳方法是采取他们正在做的事情,并展示如何以另一种方式更轻松/更快/更好地完成它。尽管涉及到曲线,但是这只会使某些人无法入内。开个玩笑


您如何真正生成一个随机字符串?要求新手关闭vim。


评论


好点子。由于某些人倾向于使用键盘而不是鼠标,因此在许多情况下,vi / m可以提高速度和/或避免在输入设备之间切换。另外,我做了很多命令提示符的东西(Linux,Cygwin),而vi一直都在那儿。

– underscore_d
2015年10月10日14:30

#6 楼

最好的方法是学习Vim并向他人展示Vim的力量。甚至您也不必(演示)-它是自我促进的。一旦在类似hackhack的终端背景上使用带有一些精美花哨的语法颜色的代码,人们就会感到好奇,并经常问-您到底在做什么。然后向他们展示。

当您进行配对编程时,您发现另一个开发人员开始做一些可重复的工作,感觉就像是一个Sisyphean任务(例如击中Backspace或箭头数百次),请告诉他如何就像Vim一样,这让您很烦恼。在不到一秒钟的时间内,您只需进行几次击键。妈妈从没告诉过您Vim的黑暗角落吗?
您希望早已知道的简单VIM命令是什么? >

评论


您的第二段是现场讨论。当您在插入模式下使用vim并按箭头键向右移动到行尾时,看到疼痛时,疼痛会更糟。啊! (我没有弥补。)

–通配符
2015年10月9日下午13:15

同意@Wildcard,让我疯狂地看着我的同事试图通过计算按键来解析固定宽度的数据,花了他几周的时间,我的帮助被拒绝了。叹

–roblogic
16年2月9日,1:15

#7 楼

最重要的是:不要推,不要传福音。绝对要确保自己的动力。如果甚至没有传教工作的暗示,就不要开始。绝大多数人会感到恼火或激进,因为仅建议检查另一个工作流就带有批评的暗流。您的工作流程可能会比他们的工作流程更好。关闭许多人。实际上,这是一条通用的原则,不管设置如何(例如素食主义者/食肉者,民主党人/共和党人,汽车品牌,食谱等),他们都做自己的事情,因为他们相信自己做的是正确的方法。

很可能一开始就没有批评您的意图,但这是在另一方面发生的事情,您对此无能为力。

我建议在没有截止日期的情况下在轻松的环境中提出主题。从您的经验谈起,以一种印象深刻的方式,以及您现在感觉到的效率更高。永远不要比较。永远不要说“更好”,因为那是一个绝对的声明,只是要求受到挑战。始终坚持“这样我会更有效率”。这样,其他人就无法否认您确实可以提高工作效率,并且您不施加任何压力。如果其他人选择了话题,请保持谦虚,并可能愿意分享一个或两个链接,例如,Vimcasts是一个很好的资源。

学习Vim是一项艰巨的任务,尤其是考虑到疯狂的数量花费时间进行正确的首次设置。在那段时间里,我脑子里有很多问号,而且几乎每隔一秒就显得荒谬甚至敌对。这与直观相反。有人坚持使用它,并逐渐获得更多的“啊哈!”片刻或将其删除,以便使用更像Word的编辑器。无论如何。

最后,这实际上不值得任何辩论:每个人都只是利用完成任务的方式。那就是源代码的美:它具有通用性。

#8 楼

我第一次使用vi是在“ Unix入门”类中。老师不太了解它,他以很笨拙的方式介绍了它。如果我们陷入没有安装其他任何东西的系统中,我们必须记住足够多的时间来解决。那学期我没再看了。那就是您不传播vi的方式,我认为很多人都有他们的第一次经验。

几年后,我参加了有关Perl的公司继续教育课程。老师在演示中使用了vim,并提供帮助,以帮助人们,即使这不是课堂的主要目的。

Perl的非正式座右铭是TMTOWTDI(有多种方法可以做到)。当全班同学提出问题时,讲师将进行编辑以显示替代方法,这比他用言语描述编辑的速度更快。我习惯于在编辑代码时能够读取代码,但对他来说,编辑是通过一系列按键进行的,然后进行了解释,相比之下,速度很快。如果他不必停下来向我们解释编辑内容,那么他​​将已经着手进行下一个任务。

我有很多类似的机会来展示vim:


Scrum会议
配对编程
技术讲座
软件演示

我认为只要向人们展示其潜力,就会激发他们的兴趣克服最初的笨拙。

评论


我认为您对两次完全不同的vi曝光所产生的印象的比较是非常有价值的一课。自阅读以来,我已经想过很多次了……一直牢记在心。谢谢。

–通配符
2015年12月2日,下午6:36

#9 楼

正是这些内在的动作使我的眼睛变成了Vim漂浮的心。除了重复和给计数加前缀之外,显示内在运动通常是当有人问我关于vim时显示/共享的第一件事。 .ci(gUi>

diwg;跳到您编辑过的地方通常可以使眼睛变宽一两个。

#10 楼

尽管vi在计算历史上有很高的血统,但我还是建议您重点关注vim。它是功能强大的全功能编辑器,可与任何竞争对手匹敌。它唯一的缺点是学习曲线。确实需要时间来获得“ Vim心态”和肌肉记忆。我认为这是值得的。当您精通vim时,可以使用的功能很多。


展示vimscript的功能,可以自动执行无聊的文本处理任务。
安装vim-airline之类的出色插件,因为每个人都喜欢一个好的UI。
有很多免费的教程,像这样。

vi / vim安装在所有基于Unix的系统上;因此,任何专业的sysdamin都应该对此有所了解。


评论


我的问题的真正症结在于答案的第1点是“如何”。您是否有向其他人展示或自己展示的经验?

–通配符
2015年10月8日,下午6:58

并没有太多的演示,但是我通常使用小型的vim脚本来清理文本,但是像您一样,我对同事也没有太大的兴趣(他们倾向于将输出转储到没有人读取的海量文档中)

–roblogic
2015年10月8日在7:24

#11 楼

我喜欢VIM,但是学习曲线很陡峭。

任何尚未采用VIM的专业人士,都不太可能被争论所吸引。仅出于必要。

听从那些说定期使用VIM的人的声音,最大的用例是管理员通过SSH通过CLI远程管理多台* NIX计算机。

VIM实际上安装在地球上几乎所有* NIX机器上。

VIM已有25多年的历史了,自从我1998年开始使用它以来,它一直没有变化。

#12 楼

只需让学生使用他们的Word™处理器交换两个单词即可。
...然后展示主人如何使用vim做到这一点。 (这里是这样做的映射;更多信息在这里。)
最后,让学生考虑一下他/她到目前为止是否真的在使用文字处理器。

评论


聪明,但是在所有Windows编辑器中,control-backspace都可以删除单词,而在几乎所有Mac编辑器中,alt-backspace都可以删除单词。

–通配符
18-09-25在19:04

@Wildcard我怀疑删除和我的第一个想法选择之间。你当然是对的。因此,我将其更改回选择。

– Serge Stroobandt
18-09-25在19:11

仍然-按住Ctrl键向左/向右箭头移动(对于Mac,则为alt键向左移动箭头)。 :)

–通配符
18-09-25在19:35



@Wildcard我想我明白了。我不得不重建过去的推理。 ;)

– Serge Stroobandt
18-09-25在20:27

@Wildcard感谢您的坚持。我很难回想起什么原因使我对gvim进行了彻底的更改。现在,我记得很好。当以英语为母语时,它在句子中交换/移动单词。为此,我编写了自己的vimscript映射。

– Serge Stroobandt
18-09-25在20:58

#13 楼

人体工程学

通过正确的设置,我可以工作数小时而不会肩部或背部疼痛。

正确的设置对于每个人当然都是不同的,但是在终端中使用Vim ,将Esc映射到Capslock并禁用鼠标和光标键是一个不错的开始。

#14 楼

Vim还是单字母命令的编程语言
vimrc配置文件结合使用,它使您可以使该编辑器执行对您来说真正重要的事情。
Vim还是关于重新评估纯文本文件。
在文档创建过程中,vim的价值不仅在于其出色的文字编辑技能。 Vim还是恢复无处不在的纯文本文件的值并保证永恒的向后兼容性的途径。
Vim也是专门关注内容;不是格式
如果不进行网页编辑,那么内容与格式的分离对于任何普通的上班族来说可能是一个破烂的概念。出于这个原因,我想与Pandoc和gvim一起作为组合的Markdown编辑器来展示makefile
这也很好地展示了Unix或GNU / Linux结合和管道化程序的哲学。非常擅长于一件事。
另外,您会看到基本的vim组合键已在许多其他GNU / Linux程序中使用。