上古时程序猿门就在论证ultraedit吊锤vim,现在好多年都没见过ultraedit的帖子了,据说用易语言编外挂的程序猿们都还在用ultraedit当做十六进制编辑器
后来csdn成立了,程序猿门开始在csdn上论证eclipse吊锤vim,现在已经没有程序吹捧eclipse了,因为eclipse已经被jb家的idea、clion、pycharming锤爆了。
后来知乎成立了,程序猿们在知乎上论证vs吊锤vim,vs是宇宙第一IDE,vs必将一统天下呢。
现在已经没人论证了,因为vsc出现以后,不少程序猿开会抛弃臃肿的vs,选择流畅好用的vscode
最近知乎又开始论证vsc能不能吊锤vim
再过几年估计还会讨论vsc++能不能吊锤vim
再过几年可能还得讨论vsc#能不能吊锤vim…
vim的对手都换了好几茬了,只有emacs还健在
作者:悲催的袜子 链接:用 VS Code 替代 Vim 可行吗? - 知乎 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文只针对把编程当作长久事业的人,因为如果只做短期的编程,选择容易上手的工具性价比会更高。
长生久视
把编程当作长久事业的话,很自然的,会倾向于选择 一次投入,终身受用,且使用经验可以累积 的工具。
什么样的工具满足这些条件呢?
存活得够久,且尚无衰败迹象
- 用户基数够大 => 软件没有用户就等于死掉了,足够多的用户基数是软件不断进化的核心动力
- 架构经得住时间考验 => 不然或许能流行一时,但会因为架构崩坏而死掉
- 是自由软件,且最好由社区维护 => 不会因为『背后公司倒闭』、『公司没倒闭但项目被公司砍掉』等原因而突然死掉(想想 Google Reader)
使用场景够多
这样投入回报率才更大,且经验累积速度更快
扩展性够好
这样才方便针对自己的需求做调整,这种调整也是一种使用经验的累积(有人说现有工具足够好的话,就不需要调整和扩展,但其实每个人都是不同的,长期做一件事且关心自己水平的人,很大概率会遇到想要针对自己优化工具的场景)
emacs 和 vim 都符合上面这三点。目前大火的 vscode,论坛上的 lazycat 论证过其架构无法避免内存泄露的(忘了是在哪个贴子里看到的了)。
心流
- 进入心流状态时,编程效率最高
- 手在鼠标和键盘间切换,会打断心流
- 打断后再想进入心流状态,会比较花时间
以上三点,自然能得出『常用的工具最好可以全键盘操作』的结论。这点上,emacs 和 vim 都符合,其他软件通过插件可能可以达到。
奇正相生
上面两点,基本就只筛剩下 emacs 和 vim 了。我个人选 emacs,是因为 1. 不适应模式切换(玩 DMC4 我练了很久 Dante 但还是更喜欢用 Nero) ,2. 使用场景(操作系统级)更多,3. 扩展性更好(学点儿 elisp 然后就随心所欲了)。
但这并不意味着就什么都得用 emacs,只是采用『花更多时间在 emacs 上』这个长远策略(『正』)。我也经常试试各种不同的工具(『奇』),特别是 debugger,我基本都是用相关语言比较流行的 IDE (vscode 之于 javascript,Eclipse 之于 Java/C/C++),反正 debug 的时候,好像本来也不在心流里。
至于什么“神之编辑器”啦,看上去很酷可以装X啦 => 建议还是『虚其心实其腹』吧。