记录下 Vim 的各种奇淫巧技,备查。
重映射
Vim 有两种常用的模式,insert 和 normal,在 normal 模式下按 i
可以进入 insert 模式,按 ESC 键可以退出 insert 模式进入 normal 模式,问题在于 ESC 键距离太远,频繁使用效率不高,因此修改 ~/.vimrc 文件,添加以一行将 jk
映射为 ESC:
|
|
查找与替换
这部分内容参考了 在 Vim 中优雅地查找和替换。
简单查找
在 normal 模式下输入 /
即可进入查找模式,输入要查找的字符串并按下回车后跳转到第一个匹配项,按 n
查找下一个,按 N
查找上一个。
如果查找的是换行符应当用 \n
,而替换为换行符则用 \r
(相当于<CR>
)。
搜索后如果需要退出高亮模式 :nohl
查找当前词
在 normal 模式下按 *
即可查找光标所在单词,要求每次出现的前后为空白字符或标点符号。例如当前为foo
, 可以匹配 foo bar
中的 foo
,但不可匹配 foobar
中的 foo
。 这在查找函数名、变量名时非常有用。
按下 g*
可查找光标所在单词的字符序列,每次出现前后字符无要求。 即 foo bar
和 foobar
中的 foo
均可被匹配到。
由于 Vim 默认大小写敏感进行匹配,在很多时候并不方便,可以在 ~/.vimrc
里进行配置:
|
|
替换
在 normal 模式下输入:s
(substitute)命令查找和替换字符串。语法如下:
|
|
比如 :%s/foo/bar/g
会在全局范围(%
)查找 foo
并替换为 bar
,所有出现都会被替换(g
)。