关键词:Vim,Emacs,Vim和Emacs之争

一同时提到vim和emacs,就几乎一定引发关于哪个更好的圣战。
据说这个圣战从很早就开始了,偶尔还会有windows下的ultraedit的用户来凑凑热闹。
这里我只讨论vim和emacs,忽略其它。
我的主张是,vim和emacs各有千秋,但是有哪个更适合你的问题。

 vs 

说说我的切身体会吧,我一开始用的就是vim,用了两年vim,
几乎什么都是用vim编辑。手册也完整地学过一遍,也可以说有些功力了。
不过我始终觉得vim恐怕不是适合我的编辑器,使用它有时我的心情浮躁。

于是俺决定试用一个星期的emacs,虽然一开始觉得他的操作繁琐,
不如vim快捷,但它不知为什么能带给我平静的心情。
慢慢地适应了它的操作,觉得它的操作并不慢。
打开多个文件时,比vim便于管理。复制粘贴其实比vim更人性化。
当然编辑一个文件的效率和vim的极限操作是比不了的,
但我们大部分时间是在编写文档,而不是编辑文档。

虽然很快习惯并喜欢上emacs,但又舍不得放弃vim,
因为曾用很多的时间来学习和配置vim,vim的高效也确实不可替代。
于是俺决定一天用emacs,一天用vim(我很认真的,不要笑)。
但这种emacs和vim交替的日子只持续了5天。第5天,我用emacs的那天,
我忽然决定以后都用emacs了,不能再脚踩两只船了。

现在我的emacs一开机就开着,直到关机才会关闭。
不管编程还是写文档,我都在emacs里写。因为它的操作方式,
虽然较vim繁琐,但的确给我一种心如止水的感觉。
这种心静的感觉对于一个长时间对着电脑的人很重要的。
vim我并没有完全放弃,偶尔要编辑一些系统配置文件就用vim。

我绝对没有表达emacs比vim好的意思,只是发现emacs更适合我。
vim和emacs都很好,不是别的编辑器可以匹敌的。
只是emacs和vim真的是两种不同的风格,适合不同的人群。
如果你性格火爆,你可能会喜欢vim;如果你性格沉静,你可能更适合emacs。

只因为这两种操作方式太不同,所以引发了很多口水战。
很多时候是,如果一个人最先接触vim,就很难再转而去学emacs。
反之亦然。我这次从vim转到emacs就经历了很多的心理矛盾。

如果你只用过其中的一种,就鄙视另一种,是很不公道的。
我的建议是,最开始你两种都试用一段时间,先不要决定精通哪一个,
等有了足够的体会后再自己选择一个,选择后就努力精通它,习惯它。
达到没它不行的境界。但是,选择一个后,也不要攻击另一个的用户,
真的没必要。

最新文章

  1. 如何在HoloLens中创建一个2D的Hello World程序
  2. ->code vs 2879 堆的判断(堆的学习一)
  3. tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)
  4. Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
  5. Sublime Text 新建文件的模版插件: SublimeTmpl
  6. iOS7.1 编译报错 解决方案 体会
  7. 登录模块需要用到session留底
  8. memcached原理全面剖析
  9. 学号:201521123116 《java程序设计》第一周学习总结
  10. C#异常:未将对象引用设置到对象的实例。
  11. SQL Server远程连接 provider: Named Pipes Provider, error: 40 解决方法
  12. linux下php redis扩展安装
  13. 33. Search in Rotated Sorted Array(二分查找)
  14. 关于CI/CD/CD (Continuous Integration/Continuous Delivery/Continuous Deployment)
  15. 微信小程序 --- loading提示框
  16. 如何把js的循环写成异步的
  17. Linux Shall命令入门
  18. BZOJ1038 瞭望塔
  19. Python Strings
  20. MFC简单的橡皮筋程序

热门文章

  1. ORA-03113:通信通道的文件结尾-完美解决方案
  2. springmvc上传文件报错org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.web.multipart.MultipartFile]
  3. intel 的架构图
  4. 使用Word 进行UTF8 以及字符串编码的转换操作
  5. JVM内存模型一
  6. Python内部类,内部类调用外部类属性,方法
  7. laravel运行慢是怎么回事?
  8. linux内核分析 第七周 Linux内核如何装载和启动一个可执行程序
  9. (转)java getResourceAsStream的使用方法
  10. sql 事务的四种隔离级别