vi模式切换

vi

vi保存和退出命令

命令 功能
:q (Quit)退出未修改的文件(若文件被修改且未保存,则该命令无效)
:q! 强制退出,且不保存修改过的部分
:w (Write)保存文件,但不退出
:x (Exit)保存文件并退出(:x <=> :wq)
:w File 另存为File给出的文件名,不退出
:r File (Read)读入File指定的文件内容插入到光标处

vi命令、编辑模式切换

命令 功能
i I
(Insert)
i 命令将文本插入到光标所在位置前。
I 命令将文本插入当前行的行首。当输入 I 命令后,光标自动移到该行的行首。
a A
(Append)
a 命令将新文本追加到光标当前所在位置之后
A 命令将新文本追加到所在行的行尾。当输入 A 命令后,光标自动移到该行的行尾。
o O
(Open)
o 命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首。
O 命令在光标所在行的上面插入一个空行,并将光标置于该行的行首。
:!Command 在vi中执行外部命令Command,按回车键可以返回vi继续工作
例如,在vi命令行模式下输入:! pwd可以查看当前所在目录又或者:! date 查看时间

当 vi 处于文本编辑状态,屏幕最下行显示 “—INSERT—”说明信息

vi拷贝 粘贴

命令 功能
[N] x
(Expurgate)
删除从光标位置开始的连续N行字符(并复制到编辑缓冲区)
[N] dd
(Delete)
该命令删除光标所在的整行。在 dd 前可加上一个数字 N,表示删除当前行及其后 N-1 行的内容。
[N] yy
(Yank)
复制光标所在的整行。在 yy 前可加一个数字 N,表示复制当前行及其后 N-1 行的内容。
p 或 P
(Put)
从编辑缓冲区复制文本到当前光标处
u
(Undo)
该命令撤销上一次所做的操作。多次使用 u 命令会一步一步依次撤销之前做过的操作(在一次切换到文本输入模式中输入的所有文本算一次操作)。

vi光标命令

命令 功能
h 方向键,向左移动光标一个字符的位置,相当于键 “←”
j 方向键,向下移动光标到下一行的位置,相当于键 “↓”
k 方向键,向上移动光标到上一行的位置,相当于键 “↑”
l 方向键,向右移动光标一个字符的位置,相当于键 “→”
:N 移动光标到第N行 (N待定)
1G 移动光标到文件的第 1 行
G 移动光标到文件的最后 1 行
:set number 设置行号显示
set 取消行号显示