本笔记有特殊目录,点击开启:
在Linux系统中编辑文本总是离不开一位老帮手——Vi。而因为其诞生的年代有些久远,有些操作在现在看来可能有点“反直觉”。
于是我决定写这样一篇小笔记,记录一下我记忆Vi的这些这些 常用 操作和指令的方法(主要靠的是英语和图示了)。
当然,正如“好记性不如烂笔头”所言,多实践才是熟练掌握技能的王道。
关于Vi/Vim名词本身-
Vi
代表的可能是Visual Instrument(可视工具)
,Visual Interface(可视界面)
亦或就是Visual(可视化的)
单词本身。 -
Vim
倒是很明显,代表的是Vi IMproved(Vi改进版)
。
对Vi
而言:
-
命令模式 (
Command
mode) ,刚进入Vi编辑器时的默认模式。在此模式下能输入Vi的合法指令(通常是一些字符)来进行操作。 -
插入(输入)模式 (
Insert
mode) ,顾名思义,是直截了当地编辑文本的模式。 -
末行(底线)模式 (
Last-line
mode) ,也是接受指令的一种模式,更偏向于文件的管理。
之所以叫 “末行” 是因为指令的输入在窗口最下方:
Vim
是Vi
的增强版,因此Vim
完全可以兼容Vi
的操作,不过它的模式名可能略有差别:
-
正常模式 (
Normal
mode) ,是启动Vim
后的默认模式。 -
插入模式 (
Insert
mode) ,这个和Vi
的一致。 -
命令(行)模式 (
Command-line
mode),类似Vi
的末行模式。 -
可视模式 (
Visual
mode) ,和普通模式类似,不同的是可以高光选择文字的一部分进行命令操作。包括上述几种模式,Vim总共有
12
种模式(这个说法来自Wikipedia)。但最常用的还是上面这四种,一般情况下够用了。
展开阅读
就Vi
的三种模式而言,要在其间互相切换,需要借默认模式——命令模式作为一个中转(对于Vim
来说就是正常模式)。
-
命令模式
作为进入
Vi
的默认模式,我们可以把这儿当作一个小家,
无论在哪个模式下按Esc
(可以记成Escape
[v.]逃离。逃回家了)都可以回到命令模式。(家是永远的港湾啊)再提一嘴,在
Vim
里这个模式称为正常模式。 -
插入模式
通过以下按键指令能进入插入模式。这些按键通常是大小写成对的,小写对应的指令略显 “温和” ,大写对应的就比较 “走极端” 了。
-
i
/I
插入 (记作Insert [v]插入;嵌入;(在文章中)添加
)小写的
i
,就是在光标所在位置进入插入模式:大写的
I
则有点“极端”,会跳转到当前光标所在行的开头进入插入模式: -
a
/A
附加 (记作Append [v]增补,追加
)小写的
a
,就是在光标所在位置之后一位进入插入模式,即所谓的“附加”:显而易见,大写的
A
就会跳转到当前光标所在行的末尾进入插入模式(在尾部附加): -
o
/O
新增一行 (暂且记作Open
new line)都是新增行,差别无非是往下新增还是往上新增了。
小写的
o
,就是在光标所在行的之后新建一行,然后进入插入模式:大写的
O
呢,就比较蛮横,会把光标所在行及其以下的行整体往下顶,在原位置新建一行(相对来说就是在光标所在行上面新建一行),然后进入插入模式: -
s
/S
剪切(取代) (可以直接记删的拼音Shan
,也可以记成Substitute [v]取代
)小写的
s
,会剪切光标所在位置右边的字符,然后进入插入模式:大写的
S
就很暴躁了,会剪切光标所在行,然后进入插入模式:记
Substitute
的话,可以理解为这个操作是剪切原有字符/行
后进行插入,取代原有的字符/行
。
-