[VSCodeVim] Vim的思维、哲学与解决问题之道

Vim的思维、哲学与解决问题之道


[系列文目录]

每种工具都有它的设计理念,在接触Vim的前後,我们会接触大量的相关知识。

有几个观念与原则能帮助我们贯穿各个Vim的模式与命令操作,分别是:

  1. 先阅读,再写作。
  2. 用组合命令解决问题。
  3. 用更少的动作完成任务。
  4. 减少重复,提高效率。

底下我们分别详述这四点。

一、先阅读,再写作。


日常的程序开发中,开发者花费大量时间浏览专案里的档案与相关程序,并在需要时透过滑鼠移动游标,移动游标以输入新程序的频率则相对比较低。Vim针对这种情况进行了优化,设计出了普通模式(Normal Mode)。此模式提供了许多命令,帮助我们有效将游标移动到目标位置,滚动页面、搜寻文件等辅助阅读与寻找的命令主要也都在此模式使用。

想像一下自己是一只正在寻找猎物的老鹰。此时此刻正在天空翱翔,与此同时,我们保持开放的视野,俯瞰大地。一旦发现并锁定目标,躯体便向下飞行至大地,一击必杀,精准且不失优雅。同样的,在普通模式里面,我们先使用命令将游标移动至要修改的位置,之後我们进行相关操作。进入插入模式输入一段新文字、使用cd等相关命令修改、删除内容,或是r命令进行替换,视需要而定。

在《Practical Vim》一书里,作者使用画家作画来比喻这些过程,画家花时间构思整体画作的布局、光线、色彩,而後或使用铅笔素描、或涂上特制的颜料、或用泼的、或用刻刀、或用其它工具,没有说一定会使用画笔。休息时,画笔不会放在画布上,这点与Vim的操作是相同的。

普通模式就是没有对画布进行操作时的自然状态,在此状态中我们放松地阅读,想法与灵感在此阶段自然浮现。而後选定目标,使用对应的方法修改画布,实现想法。

二、使用组合命令解决问题


在Unix哲学里,「Do one thing well」是被奉为圭臬的原则。Unix的shell提供各命令解决不同问题,Vim的各个模式与命令分别处理不同职责的操作,完美体现此原则。

各别的shell命令能够被pipe语法组合起来,处理更大的任务与需求。同样的,在Vim 里面我们可以组合各个命令,处理不同情境。

举个例子,当我们要删除底下ag的文字,用单个命令是做不到的。

这时我们可以组合f(find)与d(delete)两个命令。

● 使用Vim的搜寻命令


Vim 里面有f ${目标字元} 命令,用於搜寻(find)目标字元,并将游标移至找到的第一个字元上。ㄌ

普通模式下,当我们对图文字使用fg(find g),游标就会移动同一行的g上面。

● 组合f(find)与 d(delete)两个命令


接着,回到行首。我们在fg 命令的前面加上d命令,也就是输入dfg,就会删除ag的字。结果如下图所示。

很直觉地达成需求,是不是很方便呢?Vim有各种组合小功能解决大问题的方式,无法也不用急着一次学完。掌握心法,触类旁通,是精通Vim的不二法门。


下篇: Vim的思维、哲学与解决问题之道 (二)

参考资源



<<:  LINE Bot主动推播

>>:  [VSCodeVim] Vim的思维、哲学与解决问题之道 (二)

[重构倒数第18天] - 我如何再Vue里面使用axios有效管理API

前言 该系列是为了让看过Vue官方文件或学过Vue但是却不知道怎麽下手去重构现在有的网站而去规画的系...

在 Debian 10.10 上轻松安装呒虾米

花了一点时间,把 Debian 10.10 下载与安装,我选择 Gnome 桌面环境,原因是在 Fe...

Day22 [实作] 一对一视讯通话(2): Signaling server

今天我们要实作 Signaling server 的部分: 建立文件 # 进入要放专案的路径 ❯ c...

Day26 - 收放工具按钮

连假是真的懒,今天继续做点简单的东西。 主要是悬浮视窗的几个按钮,我想做成平常能自动收起,触碰画面时...

[Day3] 引擎简介 - RPG Maker 引入插件

在工具列中的工具选项,找到插件管理器 点下去後跳出一个视窗 在这里就可以引入你想引入的插件啦 这边有...