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!  强制退出 (文件有修改,但不保存)

原文地址:https://www.cnblogs.com/shijianchuzhenzhi/p/4478133.html