1 vi 编辑器的光标移动和翻页操作
1 光标移动
h 向左移动光标
l 向右移动光标
j 向上移动光标
k 向下移动光标
2 翻页操作
Ctrl+f 向前翻整页
Ctrl+b 向后翻整页
Ctrl+u 向前翻半页
Ctrl+d 向后翻半页
2 行内快速跳转
^ 将光标快速的移动到行首字符
$ 将光标快速的移动到行末字符
w 将光标快速跳转到当前光标所在位置的后一个单词的首字母
b 将光标快速跳转到当前光标所在位置的前一个单词的首字母
e 将光标快速跳转到当前光标所在位置的后一个单词的尾字母
3 文件内行间快速跳转
:set n u 在编辑器中显示行号
:set n on u 取消在编辑器中显示行号
1G/gg 快速跳转到第一行
G 快速跳转到文件的末尾行
xG 快速跳转到文件的第x行
4 输入模式的一些操作
i 在当前光标处插入状态
a 在当前光标后插入状态
A 在光标移动到当前行的行末,并进入插入模式
o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O 在当前行的上面插入插入新行,光标移动到新行的行首,进入插入状态
cw 删除当前光标到所在单词尾部的字符,并进入插入状态
c$ 删除当前光标到行尾的字符,并进入插入状态
c^ 删除当前光标到行首的字符,并进入插入状态
5 删除操作
x 删除光标所在的单个字符
dd 删除光标所在的行
dw 删除当前字符到单词尾(包括空格)的所有字符
de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行末的所有字符
J 删除光标所在行的行尾的换行符,相当于合并当前行和下一行的内容
6 撤销操作
u 取消最近一次的操作,并恢复操作结果,可以使用多次的u命令来恢复已经进行的多步操作
U 取消对当前行的所有操作
Ctrl+r 对使用u命令撤销的操作进行恢复
7 复制和粘帖操作
yy 复制当前行整行的内容到vi缓冲区
yw 复制当前光标到单词尾字符的内容到vi缓冲区
y$ 复制当前光标到行尾的内容到vi缓冲区
y^ 复制当前光标到行首的内容到vi缓冲区
p 读取vi缓冲区的内容,并粘帖到光标当前的位置
8 字符串查找功能
/word 从上而下在文件中查找字符串word
?word 从下而上在文件中查找字符串word
n 定位下一个被匹配的查找字符串
N 定位上一个被匹配的查找字符串
9 字符串替换功能
:s/str1/str2/ 将当前行中查找到第一个str1字符串替换成str2
:s/str1/str2/g 将当前行中查找到的所有的str1字符串替换成str2
:x,ys/str1/str2/g 将x到y范围的所有str1字符串替换为str2
:%s/str1/str2/g 将整个文件的str1字符串替换尾str2
:s/str1/str2/c 在当前行中查找到第一个str1字符串替换成str2,并询问(用的少)