还有必要学Vim吗?
曾经有一段时间,编辑器领域的创新停滞了。在web编程走红,尤其是electron出现之后,这个领域又上了一个新台阶。Atom,VsCode等等替代了之前唯一的但是臃肿的跨平台选择 - Java。一时之间,大家都开始用网页来写代码了。 在这样一个时代,还要学Vim这种中古的技能吗?我来讨论一下为什么要,不但要,而且必须要。
高效Vim的学习曲线是出了名的高。但是这背后是高投入,高产出的效率。
随便举几个例子: 这只是九牛一毛。而且用的时间越久,你积累的技巧就越多,你的效率就越高。 高效的另外一面是:反应快。其实要说功能强大,JetBrain的产品无疑都很牛。但是在大脑高速运转的时候,思维到屏幕上字符的转化过程减少2-300毫秒导致体验的差别是巨大的。就好像。。。。 其实Vim的高效很大程度上应该归功于所谓模式编辑 - Vim于大多数编辑器不同,有insert,
进化Vim 从Vi进化而来,为一个略显骨感的编辑引擎加入了诸多特性:
在大约两年前,neovim出现了。它主要做了这么几件事:
Vim的开发一直都是一个个人秀。当kernel已经从patch迁移到CVS迁移到bitlocker迁移到git的时候,当sourceforge已经经历了诺基亚式的巅峰到谷底的时候,Bram还基本停留在N年前的模式。当然,Vim首先是一个个人项目,无论怎么做都不过分。但单从技术进步的角度来讲,这确实是逆潮流的。 async看来是一件小事,但是却从根本上移除了用户体验的绊脚石。neovim出现之后,包括ALE等等在内的各种创新涌现了出来。甚至Vim8也不上了这个缺口。这个领域发展的速度一下子从步行编程了摩托车,出来一两个伟大的产品一点也不出奇。 远程控制用一种叫做msgpack的IPC将编辑核心和UI彻底分割了。方便了UI编写者。其中一个令人振奋的就是和VsCode的集成。 写这篇文章的时候,恰逢neovim最新的newsletter发出。有兴趣的可以戳这里看看。 Javascript我在拿编程语言和一个编辑器做比较吗?我喝多了? 现在流行,甚至不怎么流行的编辑器或IDE,都支持插件。而在这些插件里面,总有一个插件是不会缺席的,那就是Vim。JetBrain有IdeaVim,VsCode有,Atom有,Sublime有,Chrome,Firefox也有,连Office都有,还收费! 这里面有一个逻辑,不是因为Vim很流行,而是Vim有意无意地创造了一种编辑的语言。比如 学会了Vim之后,无论什么IDE,无论在什么平台上,都无需再学习另外一套键盘快捷。可谓一劳永逸。例如现在如日中天的VsCode,有非常多的快捷键,而且每个平台各有不同。但是只用安装一个Vim插件,这些快捷键都不用学了。 之所以和Javascript比,是因为:几乎所有的语言都可以transpile成Javascript; 几乎所有的编辑器和IDE,都支持Vim插件。
人生苦短,快学Vim! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |