①模式切换:
a:在当前字符后添加文本。
A:在行末添加文本。
i:在当前字符前插入文本。
I:在行首插入文本。
o:在当前行后面插入一空行。
O:在当前行前面插入一空行。
s:删除光标所在的字符并进入插入模式。
S:删除光标所在的行并进入插入模式。
②移动光标:
h 或 向左箭头键(←) 光标向左移动一个字符。
j 或 向下箭头键(↓) 光标向下移动一个字符。
k 或 向上箭头键(↑) 光标向上移动一个字符。
l 或 向右箭头键(→) 光标向右移动一个字符。
[Ctrl] + [f] 屏幕向下移动一页,相当于 [Page Down]按键。
[Ctrl] + [b] 屏幕向上移动一页,相当于 [Page Up] 按键。
[Ctrl] + [d] 屏幕向下移动半页。
[Ctrl] + [u] 屏幕向上移动半页。
+ 光标移动到非空格行的下一行
- 光标移动到非空格行的上一行
n<space> n 为数字。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。
0 或功能键[Home] 这个是数字0。移动到这一行的最前面字符处。
$ 或功能键[End] 移动到这一行的最后面字符处。
H 光标移动到这个屏幕的最上方那一行的第一个字符。
M 光标移动到这个屏幕的中央那一行的第一个字符。
L 光标移动到这个屏幕的最下方那一行的第一个字符。
G 光标移动到这个文件的最后一行。
nG n 为数字。移动到这个文件的第 n 行。
gg 移动到这个档案的第一行,相当于 1G 。
n<Enter> n 为数字。光标向下移动 n 行。
③操作数据:
x:向后删除一个字符 (相当于 [del] 按键)。
X: 为向前删除一个字符(相当于 [backspace] 亦即是退格键)。
nx/nX:n 为数字,连续向后/向前删除 n 个字符。
dd:删除游标所在的那一整行
ndd:n 为数字,删除光标所在的向下 n 行。
d1G:删除光标所在行到第一行的所有数据。
dG:删除光标所在行到最后一行的所有数据。
d0:删除光标所在处,到该行的最前面一个字符(那个是数字的 0 )。
d$:删除光标所在处,到该行的最后一个字符。
yy:复制光标所在的那一行。
nyy:n 为数字,复制光标所在的向下 n 行。
y1G:复制光标所在行到第一行的所有数据。
yG:复制光标所在行到最后一行的所有数据。
y0:复制光标所在的那个字符到该行行首的所有数据(那个是数字的 0 )。
y$:复制光标所在的那个字符到该行行尾的所有数据。
p :将已复制的数据粘贴在光标所在行的下一行。
P :将已复制的数据粘贴在光标所在行的上一行。
J:
将光标所在行与下一行的数据合为一行。
u:撤销上一步操作(相当于Windows里面的[Ctrl]+z)
[Ctrl]+r:复原上一步操作(相当于Windows里面的[Ctrl]+y)
④查找替换:
/word:向光标之下寻找一个名称为 word 的字符串。
?word:向光标之上寻找一个名称为 word 的字符串。
n:正向搜索
N:反向搜索
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串替换为 word2 ;
例如:在 100 到 200 行之间搜寻 vbird 并替换为 VBIRD 则命令为:(:100,200s/vbird/VBIRD/g)。
:1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串替换为 word2。
:1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串替换为 word2;
且在替换前显示提示字符给用户确认 (confirm) 是否需要取代。
⑤保存退出
:wq:在命令模式下,执行存盘退出操作。
:w:在命令模式下,执行存盘操作。
:w!:在命令模式下,执行强制存盘操作。
:q:在命令模式下,执行退出vi操作。
:q!:在命令模式下,执行强制退出vi操作。
ZZ:在命令模式下,保存并退出。
:set number:在命令模式下,用于在最左端显示行号。
:set nonumber:在命令模式下,用于在最左端不显示行号。