本笔记有特殊目录,点击开启:
在Linux系统中编辑文本总是离不开一位老帮手——Vi。而因为其诞生的年代有些久远,有些操作在现在看来可能有点“反直觉”。
于是我决定写这样一篇小笔记,记录一下我记忆Vi的这些这些 常用 操作和指令的方法(主要靠的是英语和图示了)。
当然,正如“好记性不如烂笔头”所言,多实践才是熟练掌握技能的王道。

-
Vi代表的可能是Visual Instrument(可视工具),Visual Interface(可视界面)亦或就是Visual(可视化的)单词本身。 -
Vim倒是很明显,代表的是Vi IMproved(Vi改进版)。
对Vi而言:
-
命令模式 (
Commandmode) ,刚进入Vi编辑器时的默认模式。在此模式下能输入Vi的合法指令(通常是一些字符)来进行操作。 -
插入(输入)模式 (
Insertmode) ,顾名思义,是直截了当地编辑文本的模式。 -
末行(底线)模式 (
Last-linemode) ,也是接受指令的一种模式,更偏向于文件的管理。
之所以叫 “末行” 是因为指令的输入在窗口最下方:
Vim是Vi的增强版,因此Vim完全可以兼容Vi的操作,不过它的模式名可能略有差别:
-
正常模式 (
Normalmode) ,是启动Vim后的默认模式。 -
插入模式 (
Insertmode) ,这个和Vi的一致。 -
命令(行)模式 (
Command-linemode),类似Vi的末行模式。 -
可视模式 (
Visualmode) ,和普通模式类似,不同的是可以高光选择文字的一部分进行命令操作。包括上述几种模式,Vim总共有
12种模式(这个说法来自Wikipedia)。但最常用的还是上面这四种,一般情况下够用了。
展开阅读
就Vi的三种模式而言,要在其间互相切换,需要借默认模式——命令模式作为一个中转(对于Vim来说就是正常模式)。
-
命令模式
作为进入
Vi的默认模式,我们可以把这儿当作一个小家,
无论在哪个模式下按Esc(可以记成Escape[v.]逃离。逃回家了)都可以回到命令模式。(家是永远的港湾啊)
再提一嘴,在
Vim里这个模式称为正常模式。 -
插入模式
通过以下按键指令能进入插入模式。这些按键通常是大小写成对的,小写对应的指令略显 “温和” ,大写对应的就比较 “走极端” 了。

-
i/I插入 (记作Insert [v]插入;嵌入;(在文章中)添加)小写的
i,就是在光标所在位置进入插入模式:
大写的
I则有点“极端”,会跳转到当前光标所在行的开头进入插入模式:
-
a/A附加 (记作Append [v]增补,追加)小写的
a,就是在光标所在位置之后一位进入插入模式,即所谓的“附加”:
显而易见,大写的
A就会跳转到当前光标所在行的末尾进入插入模式(在尾部附加):
-
o/O新增一行 (暂且记作Opennew line)都是新增行,差别无非是往下新增还是往上新增了。
小写的
o,就是在光标所在行的之后新建一行,然后进入插入模式:
大写的
O呢,就比较蛮横,会把光标所在行及其以下的行整体往下顶,在原位置新建一行(相对来说就是在光标所在行上面新建一行),然后进入插入模式:
-
s/S剪切(取代) (可以直接记删的拼音Shan,也可以记成Substitute [v]取代)小写的
s,会剪切光标所在位置右边的字符,然后进入插入模式:
大写的
S就很暴躁了,会剪切光标所在行,然后进入插入模式:
记
Substitute的话,可以理解为这个操作是剪切原有字符/行后进行插入,取代原有的字符/行。
-
