vim常用命令
vim的模式转换图
末行模式总是最后一行输入。
设置命令
设置行号--:set nu
改变文件编码格式--:set encoding=utf8
搜索命令
/string=>Enter=>n向下继续搜索 N向上搜索
Enter+i 改为插入模式 或 i
?string 逆向搜索
删除(剪切)命令
x 删除光标后一个字符
nx 删除光标后n个字符
dw 删除从光标至词末
d0 删至行首
d$ 删至行末
dd 删除光标所在行
ndd 删除从光标所在行开始n行
d1G 删除光标所在到第一行的所有数据
dG 删除光标所在到最后一行的所有数据
复制命令(yy)和删除命令形式基本相同
粘贴命令 p
撤销命令 u [undo] 一直撤销,u本身不算作操作。
重做上一个动作 [Ctrl]+r [redo] 两者相反 撤销多了一步,可以返回。
定位命令
^-$ 跳至行首-行尾
nG=ngg=:n 跳到指定行
H-M-L 跳至屏幕高点-中点-低点
gg-G 跳至文件开始-文件末尾
翻页命令
Ctr+f (d) 下翻(半页)
Ctr+b (u) 上翻(半页)
替换命令
[range]s/from/to/[flags]
:%s/from/to/g 文件内全部替换from可以是正则表达式
【%所有行
. 光标所在行
1第一行
.+1 光标所在行的下一行
$最后一行
$-1 倒数第二行
s表示替换动作
g表示全局替换】
:s/from/to/ 将当前行中的第一个from换成to
:s/from/to/g[c] 将当前行中的所有from都替换成to[请求确认]
:.s/from/to/g 在当前行进行替换操作
:33s/from/to/g 在第33行进行替换操作
:$s/from/to/g 在最后一行进行替换操作
:10,20s/from/to/g 对第10-20行进行替换操作
wq & q & q! & wq! 的区别
wq 一般的保存。
wq! 强制保存,当wq保存不了时。
q 一般的退出(文件无修改,退出)。
q! 强制退出 (文件有修改,但不保存)