查看原文
其他

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

The following article is from 读芯术 Author 读芯术

点击上方 "Python人工智能技术关注,星标或者置顶
22点24分准时推送,第一时间送达

来自:量子位 报道 | 公众号 QbitAI | 编辑:技术君

Python人工智能技术(ID:coder_experience)第230次推文

上一篇:记一次 Python Web 接口优化,性能提升25倍!


正文



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


VS Code有一个嵌入式终端,可以执行所需要的命令。它还内置文本编辑器和文件资源管理器,甚至还有git(分布式版本管理系统)功能。
 
但尽管如此,我还是决定抛弃它,原因如下:

1.强迫自己学习构造块
 
我认为,使用GUI(图形用户界面)文本编辑器的缺陷之一,就是不能与cli(命令行界面)工具进行互动。cli是所有功能相同的GUI的基础,你不得不使用一个更局限但功能更强大的工具。
 
以git为例,如果要从远程数据库提取一个文件,VS Code无法轻松做到,但git却可以。
 
git checkout <remote branch> --<path/to/file>

有时你仍必须用终端执行某些命令,这是因为GUI界面正是构建在终端命令之上的(即VS Code中的git命令是基于git cli构建的)。通过查看VS Code中的git功能,可以看到它提供了许多有用的命令,却难以执行复杂的git操作。
 
当你要执行复杂的操作但还不习惯使用cli,则需要较长的时间来弄清楚它的使用方法。虽然这可能是一次性的情况,但它发生的频率令人吃惊。使用cli是一项非常强大的技能,这样你就能够充分利用手头的工具。
 
你不仅能了解这些命令工作的基本原理,还能创建自己的快捷方式,以提高工作效率。例如,某天伊始,你可能想把自己的分支更新到master数据库里,那么就可以创建一个快捷方式,如:
 
git fetch -agit checkout <branch name>git pull origin <branch name>

你也可以创建任何想要的命令字符串,并以关键字命名或取个别名,当你想执行这个命令时就可以调用它。现在命令就能为你服务了,而这只有了解了核心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来搜索文件。


--END--


往日热文:


微软要“断供”中国?真相来了!关于收购TikTok,比尔盖茨也亲自发声

高考满分作文生成器来了!分分钟批量完成「生活在XX上」,哲学文学物理各种领域任选

不会吧不会吧?真的有人认为程序员很轻松么!如何对抗编码焦虑?

清华大学开源迁移学习算法库:基于PyTorch实现,支持轻松调用已有算法

流弊!三行Python代码,让数据处理速度提高2到6倍

TikTok最快下周二起诉特朗普政府:公然违反宪法,不给辩解权利


喜欢本文的朋友们,欢迎长按下图关注订阅号Python人工智能技术

收看更多精彩内容


你在看吗?一起成长

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存