vim备忘录
本文对vim常见的操作进行简单的记录,方便需要的时候快速查阅,完全是为了弥补脑容量有限的问题。
一. 查找操作
基操:在normal模式下按下“/”即可以进入查找模式,输入要查找的内容并按下回车,n键向下查找, N向上查找。
补充:vim查找是支持正则的, 如:/hello$, 是查找hello为行尾的记录, 如果真的想搜索hello$, 那么转义即可,/hello$
大小写问题:/c代表大小写不敏感查找, /C代表大小写敏感查找, 默认是敏感查找,如果需要改默认行为,将下面代码复制到~/.vimrc文件中。
1 | " 设置默认进行大小写不敏感查找 |
查找当前单词:在normal模式下, 按下*键进行查找, 例如当前为foo, 可以匹配foo bar中的foo,但不可匹配foobar中的foo。 这在查找函数名、变量名时非常有用。按下g*即可查找光标所在单词的字符序列,每次出现前后字符无要求。 即foo bar和foobar中的foo均可被匹配到。
二. 查找并替换
:s (substitute)用来查找并替换, 语法
1 | :{作用范围}s/{目标}/{替换}/{替换标志} |
作用范围:
- 当前行:: 如:
:s/Hello/HELLO/g - 全局: :% 如:
:%s/Hello/HELLO/g - 选区::’<,’> 如:
:'<,'>s/foo/bar/g注意,在visual模式下, 直接按下冒号就会自动补全 - 2-11行::5,12s/foo/bar/g
- 当前行
.与接下来两行+2::.,+2s/foo/bar/g
替换标志
目标的第一次出现: 空 , :%s/foo/bar
大小写敏感和不敏感
i表示大小写不敏感查找,I表示大小写敏感:1
2
3:%s/foo/bar/i
# 等效于模式中的\c(不敏感)或\C(敏感)
:%s/foo\c/barc表示需要确认,例如全局查找"foo"替换为"bar"并且需要确认::%s/foo/bar/gc
三. 全选复制
- 方式一
ggvGy - 方式二
ggyG - 方式三
:%y
四. 字符查找
例如:查找 , @interface findworld 中的w字符,可以使用fw(正向查找), Fw(反向查找)
五. 段落跳转
()跳转到句子首和句尾{}跳转到段首 和段尾
六. vim中执行shell命令
:!{cmd}例如::!ls:!!重复执行上一条shell命令c-z
1
2
3
4vim index.html
<Ctrl-Z>
touch index.js
fg
七. 跳转技巧
hjkl基操,代表左下上右。HML跳转到屏幕上中下w跳转到下一个单词的开始,e调到当前单词的结束,b向后跳。gg跳转到文件的开始,G跳转到文件的结束,10gg&10G表示跳转到第10行^跳转到行首,$跳转到行尾。