全文共2281字,预计学习时长6分钟

打开网易新闻 查看更多图片

仅仅在不久前,我大部分的编程都还是会用VS Code来完成,除非必须用别的系统不得不选择Vi或Vim。VS Code能满足所有需求,甚至还有很多其他的功能,它就是万事通。

打开网易新闻 查看更多图片

VS Code有一个嵌入式终端,可以执行所需要的命令。它还内置文本编辑器和文件资源管理器,甚至还有git(分布式版本管理系统)功能。

但尽管如此,我还是决定抛弃它,原因如下。

1.强迫自己学习构造块

我认为,使用GUI(图形用户界面)文本编辑器的缺陷之一,就是不能与cli(命令行界面)工具进行互动。cli是所有功能相同的GUI的基础,你不得不使用一个更局限但功能更强大的工具。

以git为例,如果要从远程数据库提取一个文件,VS Code无法轻松做到,但git却可以。

git checkout--

有时你仍必须用终端执行某些命令,这是因为GUI界面正是构建在终端命令之上的(即VS Code中的git命令是基于git cli构建的)。通过查看VS Code中的git功能,可以看到它提供了许多有用的命令,却难以执行复杂的git操作。

当你要执行复杂的操作但还不习惯使用cli,则需要较长的时间来弄清楚它的使用方法。虽然这可能是一次性的情况,但它发生的频率确实挺高。使用cli是一项非常强大的技能,这样你就能够充分利用手头的工具。

你不仅能了解这些命令工作的基本原理,还能创建自己的快捷方式,以提高工作效率。例如,某天伊始,你可能想把自己的分支更新到master数据库里,那么就可以创建一个快捷方式,如:

git fetch -a
git checkout

你也可以创建任何想要的命令字符串,并以关键字命名或取个别名,当你想执行这个命令时就可以调用它。这时命令就能为你服务了,而这只有了解了核心cli的工作方式才能实现。

图源:unsplash

打开网易新闻 查看更多图片

2.简单

不知道读者是不是和我一样,每当看到一个新工具或按钮就忍不住去把玩或触摸,直到它要么实现某功能,要么终止。像VS Code这样的工具有太多现成的功能,所以我倾向于终止。当我乱摁按钮时,不知道为什么一些预期行为没有出现,或者新的行为出现了,这就导致了一些麻烦和问题。

看看这个终端,告诉我,如果以前没有经验,你会怎么去终止它。有点难对吧?你不能光敲击按钮等它发生反应,得先做些研究。

cli的情况则恰恰相反,因为要进行更改,你必须明确要输入什么命令或在何处进行更改。虽然你仍然可能会终止一些东西,但会发现和纠正错误却更容易,因为你得输入自己想去的方向,而不是从一系列选项中选择,以这种方式终止似乎要慎重得多。这也再次证明了第一点,这让你能浏览整个系统并进行更改,而不是让GUI自动为你更改。

3.快速

假设要删除这个句子的第一个和最后一个单词:

ew look at thedolphins gross

你通常会怎么做?拖动鼠标-点击空格*2-拖动鼠标-点击空格*5?很简单的任务做起来却很麻烦,而在vim中只需:

dw - $ - b - dw

小朋友,你是否有很多问号?别着急,一旦你对它有了肌肉记忆(即通过重复将其整合到记忆中)之后,就不会这么觉得了,而且它们也是有意义的。

· dw - 删除单词

· $ - 行末的正则表达式符号

· b - 返回

与在屏幕上拖动光标相比,仅仅三个命令就可以轻松地执行简单的文本编辑。还有很多类似的命令,你也可以创造自己的命令。

图源:unsplash

简言之,使用光标要比使用键盘慢,因此,我想尽可能减少移动光标就能把更多时间用来解决手头上的实际问题,而不是关心该把光标放在哪里。虽然VS Code确实具有快捷方式的功能,但对我来说,能够点击屏幕就意味着,我不必“被逼无奈”地学快捷方式。

打开网易新闻 查看更多图片

4.个性化

根据自己的喜好调整工作流程,起初需要花一些时间,但一旦实现你就会感到非常得心应手了。无论是在myzsh中创建自定义别名,还是在vim配置文件中重置键盘,根据个人工作需要定制体验的方法有很多,设置系统让它为你服务的方法也数不胜数。

这不是一个封闭的系统,如果不喜欢某种运行方式,自己更改代码就好了。大多数东西都可以从.vimrc、.zshrc等配置文件中更改,即使配置文件中没有任何可以更改的,也没有什么可以阻止你更改代码,你有这个能力。正如第一点中提到的,我们可以设计任何一组操作,从而使系统按照我们希望的方式工作。

对大多数人来说,选择工具没有这么多的条条框框,用能让你最快、最好地完成工作的工具就好。但对我来说,我发现逼着自己走出舒适区,使用学习曲线更高的工具(即学习难度大,但功能丰富的工具),能使我最终成为一个更高效的人。此外,cli工具有一个优点,即让你更像电影中的网络黑客。

图源:unsplash

我在本文中只提到了几个工具,但核心驱动程序是内置tmux终端复用器的nvim,我还会用grep来搜索文件。

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范