我如何激发他人使用vi / Vim?


37

从使用前半个小时起,vi的强大功能给我留下了深刻的印象。然后,我发现在某些工作环境中,有很多人(技术人员,甚至系统管理员!)在没有运行vimtutor的情况下将其避免为“过于复杂”,还有其他人仅在插入模式下使用vi错过了模态编辑的全部要点。

我该如何向他人展示vi / Vim的力量,从而激发他们学习和使用它的能力?

我对成功使他人(或您自己)学习和使用Vim的成功的任何实际历史特别感兴趣。


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

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

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

@Wildcard您可以随时在Vi和Vim Meta上发布有关此问题的问题。
muru

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

Answers:


54

尽管我已经在Vim及其生态系统上投入了一些精力,但是我并没有积极尝试转换其他人。与我共事的大多数人根本不花很多时间来改善他们的工作流程和工具集,因为他们对自己拥有的东西感到满意。我觉得完全没有问题......我会是恒定的编辑器相关的传教的目标,所以我不强加给他人。

但是有时候,我的冒犯可能会吸引同事,并问我几个问题。当发生这种罕见事件时,我非常乐于讨论主题,演示炫酷技巧,并为他/她提供有用的资源。

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

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


20

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

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

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

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

他们在对话中寻找出路,我回到写作上。Vim不仅仅是一种文字处理软件,更是一种宗教经验。


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

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

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

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

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


13

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

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

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


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

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

1
读取.vimrc一堆有用的默认值的文件确实很有用。通过查看github.com/amix/vimrc中
icc97 '17

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

9

激发老狗使用新技巧的最佳方法是采取他们正在做的事情,并展示如何以另一种方式更快/更轻松/更好地完成它。

虽然肯定会涉及一些学习曲线,但是这只会使某些人无法接受。开个玩笑

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


1
好点子。作为一个倾向于使用键盘而非鼠标的人,vi/ m在许多情况下为我提供了提速和/或避免了在输入设备之间切换的麻烦。另外,我会做很多命令提示符的东西(Linux,Cygwin),并且vi总是在那里
underscore_d

8

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

当您进行配对编程时,您发现另一个开发人员开始做一些可重复的工作,感觉就像是一个Sisyphean任务(例如,敲击Backspace或箭头数百次),请告诉他,这和Vim一样使您非常烦恼,只需几次击键即可不到一秒钟。

另外,请查看以下页面以获取一些有用的Vim技巧:


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

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

7

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

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

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

学习Vim是一项艰巨的任务,特别是考虑到为正确安装第一个设置而花费的大量时间。在那段时间里,我脑子里有很多问号,而且几乎每隔一秒就显得荒谬甚至敌对。这与直观相反。要么有人坚持下去,然后逐渐变得更加“啊哈!” 片刻或将其删除,以便使用更像Word的编辑器。无论如何。

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


7

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

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

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

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

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

我认为,在向人们展示自己的潜力之后,向他们展示自己的潜力会激发他们超越最初的笨拙。


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

6

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

g;g,跳来跳去到你编辑的地方通常以眼加宽或两个好。


2

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

  1. 展示vimscript强大的功能来自动执行无聊的文本处理任务。
  2. 安装酷的插件(如)vim-airline,因为每个人都喜欢一个好的UI。
  3. 这样的,周围有很多免费的教程。
  4. vi/ vim安装在所有基于Unix的系统上;因此,任何专业的sysdamin都应该对此有一定的了解。

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

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

0

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

任何尚未采用VIM的专业人士都不太可能被论点说服。仅出于必要。

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

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

自1998年我开始使用VIM以来,它已有25年以上的历史了。


0

只需让学生使用他们的Word™处理器交换两个单词即可 ……

…然后展示主人如何做到这一点vim。(这里是这样做的映射;更多信息在这里。)

最后,让学生考虑到他/她到目前为止是否真的在使用文字处理器。


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

@Wildcard我在删除选择第一个主意之间感到怀疑您当然是对的。因此,我将其更改回选择。
Serge Stroobandt

仍然-按住Ctrl键向左/向右移动箭头(对于Mac,则为Alt-Shift箭头)。:)
通配符'18

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

@Wildcard感谢您的坚持。我很难回想起是什么原因使我做出了巨大的改变gvim。现在,我记得很好。当以英语为母语时,它在句子中交换/移动单词。为此,我编写了自己的vimscript映射
Serge Stroobandt

0

Vim还涉及重新评估纯文本文件

在文档创建的背景下,的价值vim不仅在于其出色的文字编辑技能。Vim还是恢复无处不在的纯文本文件的值的途径,并且可以保证永不过时的向后兼容性。

Vim也只关注内容。不格式化

如果不进行网页编辑,那么对于任何常规的上班族来说,将内容与格式分开可能是一种范式粉碎的概念。因此,我想与Mark Pandoc以及Markdoc一起gvim作为Markdown编辑器炫耀。makefile

这恰好很好地展示了Unix或GNU / Linux结合和管道化程序的哲学,这些哲学非常擅长于一件事。

另外,您会发现基本的vim组合键已在许多其他GNU / Linux程序中使用。


0

人机工程学

使用正确的设置,我可以工作数小时,而不会出现任何肩背疼痛。

正确的设置是为大家当然不同的,但在一个终端,映射使用议会EscCapslock和禁用鼠标和光标键是一个好的开端。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.