当我尝试使用新的文本编辑器时,我的编程效率经常会急剧下降。为什么我要让自己经历这些?简而言之,我有点效率狂热。狂热的以非完全理性的活力和激情追求某种目的的狂热者。我称它为狂热,因为追求更高的效率本身需要相当多的时间,从而积极地与我表面上的更有效率的目标背道而驰。
哦,是的,我是从那里开始的。这就是我第一次开始学习网络开发的时候,我心想,它只是文本和图片,它能比Word难多少呢?
我不会贬低Dreamweaver--这实际上是一个非常好的开始。因为它是Adobe套件的一部分,所以有关于它的专业视频教程。它甚至有代码模式,就像任何普通的文本编辑器一样。
然而,这并没有持续多久。即使是在代码模式下,我也觉得自己不是一个程序员,不管这意味着什么。我觉得我需要一个更像黑客的界面来施展我的魔力。
是的,和Dreamweaver是同年。在使用了一下Dreamweaver之后,我发现了Coda,一个相当漂亮的文本编辑器,现在还在使用(截止到2020-08-20)。为什么我说得好像这是件大事似的?嗯,如果2013年后开始编程的人知道这件事,我会感到惊讶。这并不是说这个产品有什么不好,我只是从来没有遇到过一个使用过它的程序员。
吸引我使用Coda的一个很酷的功能是它可以知道你的网站。就我记忆所及,它被标榜为创建前端站点(JS、CSS、HTML)的一个很棒的编辑器。当时我的做法是编写一些代码,打开一个FTP应用程序,然后将文件拖放到其中。尾巴处理得很好,为我节省了时间。
然后,当Sublime Text 2席卷整个行业时,编程世界集体倒吸了一口气(*我怀疑Vim/Emacs的人是否太在意,但正如你所看到的,我还不在他们的行列中)。
华丽的文字简直太棒了。它很快。这是最小的,但强大的,这吸引了我的超级用户。它不直观,无法发现,它是通过JSON配置的!这正是我想要的。
整整两年,Sublime是我的主要编辑,它很棒。一路走来,它教会了我专用工具的力量,而不是一个集成的套件。我在我的终端、FTP客户端和编辑器上使用了不同的应用程序。
当然,我与Sublime共事的时间和它为我赢得的生产力让我想要更多,从而为通向文本编辑器的黑洞铺平了道路,这种编辑器形式一旦你学会了,你就永远不会完全脱离自己。
2015年,它终于成功了。这在某种程度上是我文本编辑职业生涯的分水岭。在多年的错误开始之后,Vim终于抓住了我的指尖,从那以后事情就再也不一样了。
对于任何不知道的人来说,Vim是一个70年代的古老文本编辑器,可能已经安装在您的计算机上了。它声名鹊起的原因是它让你只用键盘就可以编辑任何文本。没有任何鼠标交互。
Vim很难学。比学习触摸打字要难得多。任何已经知道如何编程但不知道Vim的人可能会在一个月内学会它。然而,这花了我几年的时间。这可能是由于这样一个事实,即使是我也有我的极限,当涉及到生产力黑客时,Vim在一段时间内真的真的降低了你的生产力。所以我从来没有用得太多,只是四处试了一次,最后还是卡住了。
是的,但并不是每个人都适合。如果您编写了大量代码,甚至只是散文,那么使用Vim简直就是神奇。当计算机只是做我们所想的事情时,感觉就像已经置身于未来。
鼠标是一种不精确的装置。模拟动作(即你的手在桌子上滑动鼠标)相对直观,但与直接告诉电脑你想要什么相比要慢得多。任何长期专业使用软件的人都明白这一点。设计师、建筑师、作家,任何将计算机作为创造性工具并经常使用它的人,最终都会感受到重复交互的压力。这就是为什么专业软件包有许多热键的原因。即使你的操作系统有很多热键,即使你不知道或不经常使用它们。
当你使用Vim时,一切都是一个热键。您使用按键执行的每一项操作,都可以在编辑文本时提供极高的精确度和速度。
举个简单的例子。让我们假设您要选择这些引号内的所有文本。您会怎么做?通常,您只需将鼠标拖到引号内的所有文本上,然后开始键入即可。没问题!。现在考虑一下,你必须一天做很多次,也许一天几百次,用不同的文本。有时文本会环绕屏幕,导致您不得不进一步移动鼠标。有时您不小心拖得太远或拖得不够远,导致您必须单击撤消并重试。这听起来可能微不足道,但是再说一遍,考虑一下每天要做几百次。
现在,如果您是Vim用户,只需键入ci&34;即可。三个字。此序列的助记符是";change";.";有趣的是,您可以对其他字符使用相同的ci";change inner...命令。例如,ci';将允许您更改单引号内的所有文本。CI(将允许您更改括号内的所有文本,依此类推。这是一个相当灵活和高效的系统(一旦你学会了)。
输入Atom。事实上,我对Atom没有太多要说的。我使用它作为我的第二编辑器,因为一旦你把Vim内化了,你就再也回不去了。然而,Vim有一个很大的缺点:您必须对其进行编程,使其能够很好地与新语言配合使用。没错,你必须编写代码才能让你的编辑器让你以一种吸引人的方式写更多的代码。
这就是Atom进来的地方。它是一个主流的文本编辑器,在这个意义上它有很多内置的功能,它会尽最大努力帮助你。它还有一个插件存储库,您可以在其中搜索执行诸如支持新编程语言等任务的新插件。它甚至有一个模仿Vim的插件,这是关键!
因此,每当我必须处理尚未配置Vim的代码时,我都会使用Atom。它开箱即用,非常直观,有点支持类似Vim的编辑。也许最重要的是,在这一点上,我的公司已经拥有了其他开发人员,作为团队的高级成员,我需要能够推荐一种方法来编辑我们的代码库-该推荐就是Atom。
因此,几年后,我决定重新访问VSCode。老实说,我不知道为什么,但它变得非常受欢迎,所以它再次出现在我的雷达上。它是一个很棒的文本编辑器,但在我看来,它填补了Atom的空白,所以我不确定为什么会有人改用🤷♂️。
不管怎样,我试过了,虽然这没问题。问题是,在这一点上,我是一个更有经验的程序员,真的不想花时间不直接解决我正在处理的任何问题。我对配置文本编辑器没什么耐心,所以每当我尝试一种新语言时,我都会直接打开VSCode而不是Vim,因为它要么直接支持它,要么有一个插件。
VSCode仍然填补了二级文本编辑器的空白,直到有一天我发现了一个嵌入Vim的VSCode插件。🤯
因此,天平发生了变化。现在,我使用VSCode(在Vim模式下)作为主要文本编辑器,使用Vim作为辅助编辑器。
最后我们终于赶上了。2020年,我正在尝试一种新的文本编辑器。为什么?怪Clojure吧。Emacs和Lisp语言配合得非常好,所以我决定尝试一下Emacs,它相当整洁。
对于任何不知道的人来说,Emacs和Vim一样古老,并且有着类似的以键盘为中心的哲学。它甚至比Vim更具可定制性,Vim说明了很多问题。然而,Emacs以强迫您的手扭曲以使用各种功能而闻名。
我最近才开始使用Emacs,所以我实际上不能谈论它的长期效用,但它绝对很有趣。除了是一个基于LISP的编辑(这对我很有吸引力)之外,它似乎也完全支持VIM。它模拟Vim,但它做得非常好,据我所知,您可以两全其美。
因为我还没有确切地说到任何具体的点,幸运的是我没有开始写这篇文章的目的是想要写一篇。如果有的话,简单的说就是:追求你的爱好。
信不信由你,摆弄文本编辑器给我带来了快乐,所以尽管工作效率偶尔会有所下降,我还是会继续修修补补。此外,我变得更有效率的可能性总是很小的。
?Vim已经成为Vi和Vim的总称,它们是独立的编辑器。VI是第一个出现的,Vim直到90年代才出现。
在我学习创业的同时,我写下了生活,也写下了我的错误和成功。我正在打造一家自筹资金的初创公司(结对)。