insert模式
i
回到normal模式 (以下指令如未特殊说明,都是在normal模式下)
Esc
去文件首行
1G1gg:1 + Enter
去文件最后一行
G
保存并退出
:wq or :x or ZZ
保存
:w
退出
q
不保存退出
q!
Undo
u
新开一行
o or O
Delete a word
dw
d$
Delete a line
dd
Paste
p
Delete 3 lines
3dd
复制一行
yy
复制三行
3yy
常用组合操作
批量注释代码
方法一
在normal模式下,
ctrl + v
上下选择要注释的行
shift + i
输入注释 #, // 等
esc
换手机时翻到了大一时记的Vim Commands Cheatsheet。其实vim在现在工作中也经常用到,记录一下吧。注:linux环境。
常用基础操作
insert模式
i
回到normal模式 (以下指令如未特殊说明,都是在normal模式下)Esc
去文件首行1G
1gg
:1
+Enter
去文件最后一行G
保存并退出:wq
or:x
orZZ
保存:w
退出q
不保存退出q!
Undou
新开一行o
orO
Delete a worddw
d$
Delete a linedd
Pastep
Delete 3 lines3dd
复制一行yy
复制三行3yy
常用组合操作
批量注释代码
方法一
在normal模式下,
ctrl + v
上下选择要注释的行shift + i
输入注释#
,//
等esc
方法二
在normal模式下,
:起始行号,结束行号s/^/注释符/g
例: 如果注释符是#
:1, 100s/^/#/g
如果注释符是//
:1, 100s#^#//#g
第二种办法比较丑...也不好记,个人不太喜欢批量取消注释
方法一
在normal模式下,
ctrl + v
选择要取消注释的行d
方法二
:起始行号,结束行号s/^注释符//g
例: 如果注释符是#
:1, 100s/^/#//g
如果注释符是//
:1, 100s#^#//##g
批量替换
全局批量替换
:%s/替换原文regex/替换目标
例子: 把所有111换成222:%s/111/222
光标当前行替换
:s/替换原文regex/替换目标
指定替换行范围
:范围起始行数,范围末尾行数s/替换原文regex/替换目标
例::1,100s/111/222
pretty print one line json
:%!python -m json.tool