一般模式
快捷键 | 作用 | 常用 |
---|---|---|
**一般操作** | ||
[h] [j] [k] [l] | ⬅️⬇️⬆️➡️翻页 | *** |
Ctrl+f Ctrl+b | 下翻页;上翻页; | ***** |
Ctrl+d Ctrl+u | 下翻半页;上翻半页; | ***** |
[+] [-] | 光标移动到非空格的下一列 | *** |
n<space> | n代表数字,代表光标向后移动多少个字符距离 | |
n<Enter> | 为数字,光标向下移劢 n 行 | ***** |
[0] [Home] | 移动到字符的最前面处 | ** |
[$] [End] | 移动到字符的最后面处 | ** |
H | 光标移劢到这个屏幕癿最上方那一行癿第一个字符 | ** |
M | 光标移劢到这个屏幕癿中夬那一行癿第一个字符 | ** |
L | 光标移劢到这个屏幕癿最下方那一行癿第一个字符 | ** |
G | 移劢到这个档案癿最后一行 | ***** |
nG | n 为数字,移劢到这个档案癿第 n 行 | ***** |
gg | 移劢到这个档案的第一行,相当亍 1G | ***** |
GG | 移劢到这个档案的最后一行, | ***** |
**搜索操作** | ||
/ word | 向下查找,后面接要搜索的内容 | ***** |
? word | 向上查找后面接搜索的内容 | *** |
n | 重复前一个搜索动作,向下搜索结果 | ***** |
N | 重复前一个搜索动作,向上搜索结果 | ***** |
:n1,n2s/word1/word2/g | 行n1和行n2之间查找word1,并改成word2 | ***** |
:1,$s/word1/word2/g | 从第一行到最后一行寻找word1,并改为word2 | ***** |
:1,$s/word1/word2/gc | 从第一行到最后一行查找word1,并改为word2,且在取代前显示提示字符给用户确认 | ***** |
**删除、复制和粘贴 操作** | ||
x,X | 在一行字但中,x为向后删除一个字符,X为向前一个字符 | ***** |
nx | n为数字,连续向后删除n个字符|*** | |
dd | 删除光标所在的那一整列 | ***** |
ndd | n为数字,删除钢表所在向下n列 | ***** |
d1G | 删除光标所在直到第一行的所有数据 | *** |
dG | 删除光标所在直到最后一行的所有数据 | *** |
d$ | 删除光标所在处,到该行最后一个字符 | *** |
d0 | 删除光标所在处,到该行的最前面一个字符 | *** |
yy | 复制光标所在行 | ***** |
nyy | n为数字,复制光标所在向下n列 | ***** |
y1G | 复制光标所在列到第一列的所有数据 | *** |
yG | 复制光标所在列到最后一列的所有数据 | *** |
y0 | 复制光标所在字符开始,到该行行首的所有数据 | *** |
y$ | 复制光标所在字符开始,到该行行尾的所有数据 | *** |
p , P | p为将已复制的数据在光标下一行贴上,P则贴在光标上一行 | ***** |
j | 将光标所在列与下一列的数据结合成同一列 | *** |
c | 重复删除多个数据,例如向下删除10行,[10cj] | *** |
u | 撤销前一个动作 | ***** |
Ctrl+r | 重做上一个动作 | ***** |
. | 重复前一个动作 | ***** |
**块区域的修改,** | ||
v | 字符选择,会将光标反白 | ***** |
V | 字符选择,会将光标反白 | ***** |
Ctrl+v | 区块选择,可用长方形选区选择资料 | ***** |
y | 将反白区域复制 | ***** |
p | 粘贴 | ***** |
d | 删除反白区域 | ***** |
编辑模式
快捷键 | 作用 | 常用 |
---|---|---|
a | 光标所在字符后,插入编辑 | ***** |
A | 光标所在字符尾,插入编辑 | ***** |
i | 光标所在字符前,插入编辑 | ***** |
I | 光标所在字符首,插入编辑 | ***** |
o | 光标下插入新行,插入编辑 | ***** |
O | 光标上插入新行,插入编辑 | ***** |
r | 取代模式(Replace mode) 取代光标所在的那一个字符一次,插入编辑 | **** |
R | 取代模式,(Replace mode) 一直取代光标所在的文字,直到按下ESC为止 | *** |
命令模式
快捷键 | 作用 | 常用 |
---|---|---|
:w | 写入硬盘数据,保存 | ***** |
:w! | 就算文件为[只读],也会强制写入,除非权限不够 | ***** |
:q | 离开vi,不保存 | ***** |
:q! | 强制离开,不保存 | ***** |
:wq | 保存离开 | ***** |
:wq! | 强制保存离开,只要权限足够 | ***** |
ZZ | 若档案没有更改则不保存离开,若被更改,则保存离开 | *** |
:w [filename] | 将编辑的数据储存成另一个档案 | *** |
:r [filename] | 在编辑的数据中,读入另一个档案的数据,内容添加在光标后面 | *** |
n1,n2 w [filename] | 将n1到n2的内容储存成filename 新档案 | *** |
:! cimmand | 暂时离开vi, 执行bash命令,例如ls,dir | *** |
:ps[filename] 多屏模式,不添加filename则打开元文件 | *** | |
:set nu | 显示行号 | ***** |
:set nonu | 取消显示行号 | ***** |