A、vim 常用模式:
1、编辑模式(命令模式) 编辑整个文档
2、输入模式
3、末行模式
B、模式转换:
编辑-->输入
i: 在当前光标所在字符的前面,转为输入模式【insert】
a: 在当前光标所在字符的后面,转为输入模式【append】
o: 在当前光标所在行的下面,新建一行,转为输入模式
I: 在当前光标所在行的行首,转为输入模式
A: 在当前光标所在行的行尾,转为输入模式
O: 在当前光标所在行的上面,新建一行,转为输入模式
输入-->编辑
ESC 键,可以多敲几下
编辑-->末行 【输入模式不能进入末行模式】
输入 ":"
:set nu 显示行号
:9d 删除文件第9行
:3,6d 删除3-6行
:! ls /etc/ 显示目录 /etc/ 下的文件信息,按其他按钮回到当前页面【执行shell命令】
末行-->编辑
ESC 键,如果在末行模式有输入内容,那么可能会按多次ESC键
一、打开文件
打开文件或者新建文件
# vim /path/somefile
打开文件,定位行号
# vim +12 /etc/inittab 打开文件,光标处于12行
# vim + /etc/inittab 打开文件,光标处于最后一行
# vim +/tion inittab 打开文件,定位至第一次被PATTERN匹配到的行首 【vim +/PATTERN 】
默认处于编辑模式
二、关闭文件
1、末行模式关闭文件
:w 保存,单独保存
:q 退出,但不会保存编辑内容
:q! 不保存退出
:w! 对只读文件强行保存,【只对管理员有效】
:wq或者:x 保存并退出
ZZ 保存并退出【不用切换到末行模式*******】
三、移动光标(编辑模式)
1、逐字符移动:
h 向左
l 向右
j 向下
k 向上
#h #l #j #k 向对应方向移动#个字符【#代表数字】
2、以单词为单位移动
w 跳至下一个单词的词首
e 跳至当前或下一个单词的词尾
b 跳至当前或前一个单词的词首
#w #e #b 向对应方向移动#个单词【#代表数字】
3、行内跳转
0 或者Home键 绝对行首【不算制表符】
^ 行内的第一个非空白字符
$或者End 绝对行尾【算制表符】
4、行间跳转
#G或者#gg 跳转至#行
gg 跳至第一行
G 跳至最后一行
:#跳转至#行【末行模式下******】
四、翻屏
Ctrl+f 向下翻一屏 【或者 PgDn】
Ctrl+b 向上翻一屏 【或者 PgUp】
Ctrl+u 向上翻半屏
Ctrl+d 向下翻半屏
五、删除单个字符(编辑模式)
x 删除光标所在处的单个字符
#x 删除光标所在处及向后的共#字符
六、删除命令: d
d 命令要和跳转命令组合使用
#d跳转符 删除多少个跳转符
#dw #de #db
dd 删除光标所在行
#dd 删除光标所在行之内的#行
d+$或者d+End 删除当前行光标所在位置到行尾的内容
d+^或者d+0或者d+Home 删除当前光标所在位置到行首的内容
末行模式:
. 表示当前行
$ 最后一行
+# 向下#行
$-10 最后一行减去10行
:10,20d 删除10-20行
:.,+5d 删除当前行,及向下5行【共6行】
:.,100d 删除当前行,到100行
:.,$-3d 删除当前行到倒数第3行
七、粘贴命令: p
p 如果删除或复制为整行内容,则粘贴到光标所在行的下方;如果复制或删除的内容为非整行,则粘贴至所在字符的后面
P 如果删除或复制为整行内容,则粘贴到光标所在行的上方;如果复制或删除的内容为非整行,则粘贴至所在字符的前面
八、复制命令: y
用法同d命令
yy 复制一行
3yy 复制3行内容
…… 其他的不用说了
九、先删除内容,再转为输入模式 c
c 用法同d命令
十、替换【编辑模式】 r 【经常用于替换单个字符】
r字符 先敲r ,然后敲其他键,则当前光标字符替换为你所敲的字符
R 进入替换模式
十一、撤销编辑操作 u
注意:vi 编辑器中最多保持最近50次的编辑操作,也就是说最多可以撤销50次
u 撤销前一次的编辑操作【可以连续使用】
#u 撤销最近#次编辑操作
☆☆☆☆☆ 撤销【还原】最近一次的撤销操作:Ctrl+r
十二、重复前一次的编辑操作
.重复上次的操作
十三、可视化模式
v 按字符选取【选中一行中的一些字符】
V 按矩形块选取【选中正行】
十四、查找
/PATTERN 向下查询
?PATTERN 向上查找
n 先一个
N 上一个
十五、查找并替换【末行模式】
ADDR1,ADDR2s@PATTERN@string@gi g 全局替换 i 忽略大小写
【如:10,$s@con@QQQ@g 第10行到最后一行,从con替换为QQQ,全局替换】