Joldnine / joldnine.github.io

My github.io blog repo. https://joldnine.github.io
2 stars 1 forks source link

Vim Cheatsheet #2

Open Joldnine opened 6 years ago

Joldnine commented 6 years ago

换手机时翻到了大一时记的Vim Commands Cheatsheet。其实vim在现在工作中也经常用到,记录一下吧。注:linux环境。

常用基础操作

insert模式 i 回到normal模式 (以下指令如未特殊说明,都是在normal模式下) Esc 去文件首行 1G 1gg :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

方法二

在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