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
基操,代表左下上右。H
M
L
跳转到屏幕上中下w
跳转到下一个单词的开始,e
调到当前单词的结束,b
向后跳。gg
跳转到文件的开始,G
跳转到文件的结束,10gg
&10G
表示跳转到第10行^
跳转到行首,$
跳转到行尾。