vi的强大可不是一两句话就能说得清楚的,这里只说一点点,以后搞个研究专题。
VI文本编辑器:
Vi的键盘使用图:大家按提示操作,会打开一个页面,然后保存就可以。
vi的三种模式:
20. 调用vi
vi 文件名 打开或新建一个文件
vi 打开一个新的以后命名的文件
view 文件名 以只读方式打开一个文件
21. 位置
向上 k
向下 j
向左 h
向右 l
0 回到行首
/$ 回到行尾
注:均指控制光标
22. 输入
i 在光标当前位置插入
a 在光标所在位置后插入
l 在行头插入
A 在行尾插入
o 在光标所在行下插入一空行
O 在光标所在行上插入一空行
<Esc> 退出插入状态
23. 删除文本
x 删除一个字符
dw 删除当前词
3dw 删除三个词
dd 删除当前行
5dd 删除五行
:5,10d
24. 撤消和更改文本
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
J 把当前行和下一行连起来
u 废除刚才的编辑操作(即undo)
~ 改变大小写
25. 复制和粘贴文本
yy 拷贝行(或Y)
yw 拷贝词
p 当前行下粘贴
P 当前行上粘贴
:1,2co3 拷贝行1,行2在行3之后
:4,5m6 移动行4,行5在行6之后
26. 保存和退出文件
:w 存盘
:w 新文件存成新文件
:wq 存盘退出vi(或ZZ,或:x)
:q! 强行退出不存盘
27. 高级编辑选项
:set nu 显示行代码(:set nonu 隐藏行号)
:(number) 光标停在指定行,如:21或21G
G 到文件尾(1G到文件头)
/串 从当前行往下查找
?串 从当前行往上查找
n 查找继续
:1,$s/旧串/新串/g 替换全文(或:%s/旧串/新串/g)
:r<文件名> 在光标所在位置插入另一个文件
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky