抛弃VS Code,转向终端,我“移情别恋”的理由是什么?

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

[[337463]]

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

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

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

1.强迫自己学习构造块

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

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

  1. git checkout <remote branch>  --<path/to/file>   

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

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

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

  1. git fetch -a 
  2. git checkout <branch name
  3. git pull origin <branch name

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

2.简单

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

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

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

3.快速

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

  1. ew look at thedolphins gross  

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

  1. dw - $ - b - dw 

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

  • dw - 删除单词
  • $ - 行末的正则表达式符号
  • b - 返回

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

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

4.个性化

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

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

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

 

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

本文转载自微信公众号「读芯术」,可以通过以下二维码关注。转载本文请联系读芯术公众号。

 

责任编辑:武晓燕 来源: 读芯术
相关推荐

2015-12-18 21:18:50

金蝶AWS云ERP

2009-12-21 09:07:47

Windows Mob摩托罗拉

2010-08-11 14:40:42

IBM DB2

2022-06-15 09:48:05

VS CodeVS Codium开源

2013-06-05 13:49:41

EclipseIntelliJ

2010-07-08 16:31:13

MS SQL Serv

2013-06-07 10:18:00

EclipseIntelliJ ID

2018-06-15 21:26:13

PythonCrystal语言

2013-12-09 09:54:58

2020-12-16 08:33:58

Excel数据分析FineBI

2023-02-14 07:31:30

ARMx86苹果

2012-07-25 15:20:24

JS

2023-09-05 14:01:11

首席信息官CIO

2023-08-21 14:08:05

AI代码神器Clude

2011-03-18 10:37:27

2020-08-06 22:53:35

Python编程语言开发

2022-10-31 15:42:22

2021-02-05 09:18:33

VS CodeVim操作

2019-06-27 14:30:22

VSCodium开源VS Code

2016-11-04 21:42:55

点赞
收藏

51CTO技术栈公众号