从使用前半个小时起,vi的强大功能给我留下了深刻的印象。然后,我发现在某些工作环境中,有很多人(技术人员,甚至系统管理员!)在没有运行vimtutor的情况下将其避免为“过于复杂”,还有其他人仅在插入模式下使用vi错过了模态编辑的全部要点。
我该如何向他人展示vi / Vim的力量,从而激发他们学习和使用它的能力?
我对成功使他人(或您自己)学习和使用Vim的成功的任何实际历史特别感兴趣。
从使用前半个小时起,vi的强大功能给我留下了深刻的印象。然后,我发现在某些工作环境中,有很多人(技术人员,甚至系统管理员!)在没有运行vimtutor的情况下将其避免为“过于复杂”,还有其他人仅在插入模式下使用vi错过了模态编辑的全部要点。
我该如何向他人展示vi / Vim的力量,从而激发他们学习和使用它的能力?
我对成功使他人(或您自己)学习和使用Vim的成功的任何实际历史特别感兴趣。
Answers:
尽管我已经在Vim及其生态系统上投入了一些精力,但是我并没有积极尝试转换其他人。与我共事的大多数人根本不花很多时间来改善他们的工作流程和工具集,因为他们对自己拥有的东西感到满意。我觉得完全没有问题......我会恨是恒定的编辑器相关的传教的目标,所以我不强加给他人。
但是有时候,我的冒犯可能会吸引同事,并问我几个问题。当发生这种罕见事件时,我非常乐于讨论主题,演示炫酷技巧,并为他/她提供有用的资源。
在我的上一份工作中,Vim对同事非常感兴趣,并且对基础知识非常了解(vimtutor
)。对于他来说,执行快速编辑就足够了,但是他缺乏信心,也缺乏真正切换到Vim的专业知识(这是他真正想要的)。有一次,他不得不手动对一个大型JSON文件进行一系列重复的编辑。浪费一个小时的想法使他感到沮丧,于是找我寻求更快/更智能的解决方案。当然,一个简单的宏在不到一分钟的时间内就完成了工作(包括录制),这使我能够解释一些关键概念……
新移民面临的一个问题是“现在呢?” 紧接着的时刻vimtutor
。Vim很好地隐藏了它的美丽,没有多少人愿意在没有帮助的情况下破解该外壳。如果需要,我可以提供帮助...但是我绝不会将Vim强迫他人。
我用Vim做所有事情。我是说一切 编程,文字处理,写小说等。我一直坐在一个汽车经销商处,使用Surface Pro 3和Vim一起运行Linux Virtual Box,让人们就我在做什么与我进行对话。
只需使用Vim。人们会蜂拥而至,以了解您在做什么以及为什么这么做。我通常这样解释-
我使用Vim是因为它占用的空间很小。Microsoft Word是几GB,而我的Surface只有128 GB的空间。我需要最大限度地利用空间,Vim可以帮助我做到这一点。它也是可扩展的,可以帮助我保持专注。来看 演示我的一些插件,并展示全屏Vim基本上如何覆盖所有内容,以便我思考。
我经常将LaTeX与Vim结合使用。我将构建一个LaTeX文件,然后使用我拥有的模板将其编译为精美的PDF。我还演示了我的来信和简历模板。我强调从内容中分解样式的重要性。至此,人们对我不得不说的话不再感兴趣,并且后悔跟我说话。
他们在对话中寻找出路,我回到写作上。Vim不仅仅是一种文字处理软件,更是一种宗教经验。
在命令模式下演示点('。')的功能。一键轻松重复复杂的编辑通常看起来很神奇。
作为必须在上一份工作中学习Vim的人,我想说最大的障碍是摆在没有设置任何选项的“默认”安装之前。我大部分时间都在说:“为什么每个人都希望它做相反的事情时,它会以这种方式起作用?”
事实证明,其他所有人都已经设置了一些“合理性”默认值。一旦知道了这一点,我就会变得更加快乐,并且“给了机会”来学习更多。几天后,数字键盘不起作用,制表符错误,搜索不正常等,我准备扔掉毛巾,再也回头。
如果您确实希望某人喜欢它以尝试和学习更多的高级功能,请使用针对其需要完成的工作类型进行了优化的设置文件从右脚开始使用。
.vimrc
一堆有用的默认值的文件确实很有用。通过查看github.com/amix/vimrc中
vim
提供了一个基本的构建块,您必须从中配置/编程一直梦dream以求的文本编辑器。
激发老狗使用新技巧的最佳方法是采取他们正在做的事情,并展示如何以另一种方式更快/更轻松/更好地完成它。
虽然肯定会涉及一些学习曲线,但是这只会使某些人无法接受。开个玩笑
您如何真正生成一个随机字符串?要求新手关闭vim。
vi
/ m
在许多情况下为我提供了提速和/或避免了在输入设备之间切换的麻烦。另外,我会做很多命令提示符的东西(Linux,Cygwin),并且vi
总是在那里。
最好的方法是学习Vim并向他人展示Vim的力量。即使您不必(演示)-它是自我促进的。一旦您在某些类似hackish的终端背景上使用带有一些奇特的语法颜色的代码,人们就会感到好奇,并经常问- 您到底在做什么。然后向他们展示。
当您进行配对编程时,您发现另一个开发人员开始做一些可重复的工作,感觉就像是一个Sisyphean任务(例如,敲击Backspace或箭头数百次),请告诉他,这和Vim一样使您非常烦恼,只需几次击键即可不到一秒钟。
另外,请查看以下页面以获取一些有用的Vim技巧:
最重要的是:不要推,不要传福音。绝对要确保自己的动力。如果甚至没有传教工作的暗示,就不要开始。绝大多数人会感到恼火或激进,因为仅仅建议检查另一个工作流程会带来批评的暗流。您的工作流程可能会比他们的工作流程更好。关闭许多人。实际上,这是一条通用的原则,不管设置如何(例如素食主义者/食肉者,民主党人/共和党人,汽车品牌,食谱等),他们都做自己的事,因为他们相信自己做的是正确的方法。
很有可能一开始就没有批评您的意图,但这是在另一方面发生的,您对此无能为力。那是您的人类。
我建议在没有截止日期的情况下在轻松的环境中提出主题。从谈话的经验,在某种程度上是如何打动你是如何更有效的,你现在的心情。永远不要比较。永远不要说“更好”,因为那是一个绝对的声明,只是要求受到挑战。始终坚持“这样我会更有效率”。这样,其他人就无法否认您确实可以提高工作效率,并且您不施加任何压力。如果其他人选择了话题,请保持谦逊,并可能愿意分享一个或两个链接,例如,Vimcasts是一个很好的资源。
学习Vim是一项艰巨的任务,特别是考虑到为正确安装第一个设置而花费的大量时间。在那段时间里,我脑子里有很多问号,而且几乎每隔一秒就显得荒谬甚至敌对。这与直观相反。要么有人坚持下去,然后逐渐变得更加“啊哈!” 片刻或将其删除,以便使用更像Word的编辑器。无论如何。
最后,这实际上不值得任何辩论:每个人都只是利用完成任务的方式。那就是源代码的美:它是通用的。
我第一次使用vi是在“ Unix入门”类中。老师不太了解它,他以很笨拙的方式介绍了它。如果我们被卡在一个没有安装其他东西的系统中,我们必须记住足够多的时间来解决。那学期我没再看了。这就是您不传福音的方式,我认为很多人都有他们的初体验。
几年后,我参加了有关Perl的公司继续教育课程。老师在演示中使用了vim,并提供帮助,以帮助人们,即使这不是课堂的主要目的。
Perl的非正式座右铭是TMTOWTDI(有多种方法可以做到)。当全班同学提出问题时,讲师将进行编辑以显示替代方法,这比他用言语描述编辑的速度更快。我习惯于在编辑代码时能够读取代码,但是对他来说,编辑是通过一系列按键进行的,然后进行了解释,相比之下,速度很快。如果他不必停下来向我们解释该编辑,那么他将已经着手进行下一个任务。
我有很多类似的机会来展示vim:
我认为,在向人们展示自己的潜力之后,向他们展示自己的潜力会激发他们超越最初的笨拙。
尽管vi
在计算历史上有受人尊敬的血统书,但我还是建议您专注于vim
。它是一款功能强大的全功能编辑器,可与任何竞争对手匹敌。它唯一的缺点是学习曲线。确实需要时间来获得“ Vim心态”和肌肉记忆。我认为值得付出努力。精通的话有很多力量可以使用vim
。
vim-airline
,因为每个人都喜欢一个好的UI。vi
/ vim
安装在所有基于Unix的系统上;因此,任何专业的sysdamin都应该对此有一定的了解。gvim
。现在,我记得很好。当以英语为母语时,它在句子中交换/移动单词。为此,我编写了自己的vimscript映射。
在文档创建的背景下,的价值vim
不仅在于其出色的文字编辑技能。Vim还是恢复无处不在的纯文本文件的值的途径,并且可以保证永不过时的向后兼容性。
如果不进行网页编辑,那么对于任何常规的上班族来说,将内容与格式分开可能是一种范式粉碎的概念。因此,我想与Mark Pandoc以及Markdoc一起gvim
作为Markdown编辑器炫耀。makefile
这恰好很好地展示了Unix或GNU / Linux结合和管道化程序的哲学,这些哲学非常擅长于一件事。
另外,您会发现基本的vim
组合键已在许多其他GNU / Linux程序中使用。