linux vi编辑(20160628)
vim是vi发展来的文本编辑器
三种模式:
命令、输入、末行 三种模式
命令—>输入模式:
a 当前光标后面输入
A 行尾输入
i 光标位置输入
I 行首输入
o 光标下一行输入
O 光标上一行输入
•逐字符移动:方向键,h,j,k,l
•逐单词移动:w,e,b
•逐语句移动:),(
•逐段移动:},{
•跳到行x:xG或者:x
•跳到文件尾:G
复制
- yy 复制一行
- 3yy 复制光标下面3行
- p 粘贴(光标下一行位置)
粘贴
- 使用p或者P来放置(粘贴)拷贝或者删除的数据
面向行的数据:
p 放置数据在当前行的下面
P 放置数据在当前行的上面
面向字符的数据:
p 放置数据在光标的后面
P 放置数据在光标前
删除
- dd 删除
- 3dd 删除后面3行
- d$ 删除到行尾
- d^ 删除到行首
- dw 删除一个单词
跳转
- G 跳转到末行
4G 跳转到第四行
gg 跳转到第一行
撤销
- u 逐步撤销直到文本初始状态
- U 撤销本行操作
- Ctrl-r重做最后一次“撤消”改变
查找
/ 查找(向下)
? 查找(向上)
命令—>末行模式:
:
:set nu 显示行号
:set nonu 取消显示行号
(末行模式:set nu 标示行号)
[root@sky kkk]# vi test.sh 1 #!/bin/bash 2 ping -c 3 192.168.10.128 3 if [ $? -eq 0 ] 4 then 5 echo " The host is up!" 6 fi 7 ~ ~ ~ :set nu
末行—>命令模式:
esc
末行模式操作:
w
q
!
w /home/2.txt 另存为2.txt
!date 不中断vi临时执行一个命令
e /home/3.txt 打开另一个文件
r /home/4.txt
替换
:sub /root/ROOT //每行第一个替换
:sub /root/ROOT/g //整行替换
:% s/root/ROOT/g //全文替换
:% s/root/ROOT/c //全文替换,提示执行
replace with ROOT (y/n/a/q/l/^E/^Y)?
vimtutor关于vi的详细解释