进入vi | |
快捷键 | 功能描述 |
vi file | 打开新建文件,光标置于第1行行首 |
vi file +n | 打开文件,光标置于第n行行首 |
vi file + | 打开文件,光标置于最后1行行首 |
vi file +/pattern | 将光标置于第1个与pattern匹配的字符串处 |
vi –r file | 在使用vi时发生系统崩溃,恢复 |
vi file …filen | 打开多个文件,依次进行编辑 |
编辑模式 | |
快捷键 | 功能描述 |
i,I | 插入光标前 |
a,A | 添加光标后 |
o,O | 插入新的一行 |
R,r | 替换,r 会替换光标所指的那一个字符,R会一直替换光标所指的字符,直到按下Esc为止。 |
命令模式 | |
快捷键 | 功能描述 |
:w | 保存文件 |
:q | 退出 |
:q! | 强制退出 |
:wq | 保存退出 |
:w [file] | 另存为 file |
:r [file] | 读取file插入 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
:n1,n2 w[file] | 将n1至n2另存为file |
:! Command | 暂时离开vi,执行命令 |
/word | 向下搜索word,按 n 重复向下 |
?word | 向上搜索word,按N重复向上 |
:%s/A/B/g | 把A全部替换为 B |
:n1,n2S/A/B/g[c] | 在n1,n2直接搜索A并替换为B,c参数可以一个一个确认 |
一般模式 | |
快捷键 | 功能描述 |
1G/1gg/gg | 第一行 |
0 / ^ | 行首 |
$ | 行尾 |
G | 最后一行 |
块选择 | |
快捷键 | 功能描述 |
v | 字符选择 |
V | 行选择 |
Ctrl+v | 块选择 |
y | 复制已选 |
d | 删除已选 |
ngg | 移动到第n行,如12gg,同nG |
n[Enter] | n为数字,向下移动n行 |
H | 光标移到当前窗口最上方那一行 |
M | 光标移到当前窗口中间的那一行 |
L | 光标移到当前窗口最下方那一行 |
X,x | 向前向后删除字符 |
dd | 删除当前行 |
d1G | 删除当前行至第一行 |
dG | 删除当前行至最后一行 |
d0 | 删除光标至行首 |
d$ | 删除光标至行尾 |
ndd | 向下删除n行 |
yy | 复制当前行 |
nyy | 复制光标向下n行 |
p,P | 在下一行/上一行粘贴 |
u | 撤销 |
Ctrl+r | 重做上一次操作 |
. | 重复前一个操作 |
( | 光标移至句首 |
) | 光标移至句尾 |
{ | 光标移至段落结尾 |
} | 光标移至段落开头 |