vi 是Linux中最基本的编辑器,
vi有三种模式:
(1)命令行模式
进入插入模式: i: insert
大写I: 光标进入行首;
a: append 追加到光标的后面。
大写 A:光标移到行尾
o:Open 插入一新行,光标移动到新行行首。
大写O: 在光标上面加一行。
(2)插入模式 :进行文本编辑 按ESC键回到命令行模式
:!command 运行命令
:! pwd
进入底行模式:进入命令行模式,再按:键
(3)底行模式 :光标在最下边
vi 保存和退出命令(:进入底行模式操作:)
:q (Quit) 退出没有修改的文件
:q! 强制退出,且不保存修改的部分
:w (write) 保存文件,但不退出。
:x (Exit) 保存并退出
:w File 另存为File给出的文件名,不退出。
: r File (read)读入File 指定的文件内容插入光标位置。
vi 拷贝与粘贴命令(进入命令行模式操作)
[N] x: 删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)。
[N]dd:删除从光标位置开始的连续的N行
[N]yy: 复制从光标位置开始的连续的N行。
p或P 粘贴。
u:取消上一次操作 (撤销)
vi光标命令
h: 光标向左移动
j: 光标向下移动
k: 光标向上移动
i: 光标向右移动
:N 光标移动到N行
1G :光标移动到文件第一行
G : 光标移动到最后一行
:set number 设置显示行号
: set nonumber 设置隐藏行号
Vi 查找命令
/string 查找字符串
n 继续查找
N 反向查找
支持正则表达式 : /^the
vi 替换命令
利用 s 命令可以实现字符串的替换
: s /str1/str2/ str1 替换 str2 当前行替换
:s/str1/str2/g
: ,$ s/str1/str2/g 当前行到最后一行替换
:1,$ s/str1/str2/g 全文替换
:%s/str1/str2/g 全文替换
g 代表全文替换
vi复制和剪切命令
y0 光标到行首的复制
y$ 光标到行尾的复制
d0 光标到行首的剪切
d$ 光标到行尾的剪切
range y 快复制 range (1,10)