VIM使用技巧
一、替换
- 快速选择性替换:使用
#
查找,cw
删除单词,输入要替换的单词,.
重复操作 - 替换一个字符:
ra
当前字符替换为a
- 全局替换:
:%s/old/new/g
或者:%s#old#new#g
- 空格替换::
10,20 s/^/ /g
在第10行到第20行每行前面加四个空格,用于缩进。
二、 移动
慢移动
- 上下左右:
kjhl
- 向前/后移动一个单词:
w
,这个很常用,一般可以替代l
。对应的是b
- 行头行尾部:
0
和$
- 查找字符移动:
fg
移动到伺候第一个出现g
的地方。F
反向 - 行尾插入:
A
,对应I
快移动
- 文件首尾:
gg
,G
- 指定行:
: 行号
- 滚动一屏:
ctrl + f
和ctrl + b
- 滚动半屏:
ctrl + u
和ctrl + d
三、粘贴复制
- 全选复制:ggVG + y
- set clipboard=unnamedplus:将Vim默认剪贴板设为系统剪贴板
命令 | 作用 |
---|---|
yy/Y | 复制游标所在行整行 |
2yy/y2y | 复制两行 |
y^ | 复制至行首,或y0。不含游标所在处字元 |
y$ | 复制至行尾。含游标所在字符 |
yw | 复制一个word |
y2w | 复制两个字(单词) |
yG | 复制至档尾 |
y1G | 复制至档首 |
p/P | 贴至游标后(下/上) |
四、删除
vim的建都可以组合使用,d
是删除,那d$
/D
就是删除到行尾,dG
删除自后所有字符,dfa
删除到本行的a
字符。
五、选中
viw
: 选择当前光标所在位置。V
: 选择当前行ctrl + v
: 进入块编辑,可以一定上下左右选择。
六、 列编辑
xxx
yyy
xxx
在第一列都添加#
:操作步骤
ctrl +v
: 块模式,选择xj
: 向下移动选中x、y、xI
: 大写i,然后插入#esc
: 退出,3个#自动填充
或者进去v-block模式后
:'<,'>nomal I #
7️、其他
设置格式:
# set json format
:set ft=json
xml格式化
:%!xmllint --format %
格式化json
:%!python -m json.tool