Vim 字符串查找和替换
2017-03-16 本文已影响565人
2abc3927e84f
前言
掌握 Vim 字符串操作可以有效提高你的编码效率,不知道你的编码环境是不是已经都被 Vim 包裹了,反正我是使用各种插件支持 Vim 环境,正所谓无 Vim 不欢。本篇知识点对我来说,比较难记的是替换命令,不过多用几次,也就不生疏了。
![](https://img.haomeiwen.com/i5096596/e360af5e81fe0db6.png)
1 定位及文件状态
输入
CTRL-G
显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入大写G
可以使得当前光标直接跳转到文件最后一行。
输入gg
可以使得当前光标直接跳转到文件第一行。
输入9G
将跳转到第 9 行,其他数字同理。
输入:9
将跳转到第 9 行,其他数字同理。与9G
指令等同。
2 搜索类命令
输入
/
加上一个字符串可以用以在当前文件中查找该字符串。
要查找下一个字符串,只需要按n
键。
要相反方向查找下一个字符串,只需要按大写N
键。
如果您想逆向查找字符串,请使用?
代替/
进行。
要回到您之前的位置按CTRL-O
。重复按可以回退更多步。CTRL-I
会跳转到较新的位置。
3 配对括号的查找
输入
%
可以查找配对的括号)
、]
、}
。
再次按%
就可以跳回配对的第一个括号处。
提示:在程序调试时,这个功能用来查找不配对的括号是很有用的。
4 替换命令
输入
:s/old/new
只替换光标所在行的第一个匹配串。
输入:s/old/new/g
只替换光标所在行的所有匹配串。
输入:#,#s/old/new/g
替换指定行区间的匹配串,其中#,#
代表的是替换操作的若干行中首尾两行的行号。
输入:%s/old/new
替换整个文件中每行的第一个匹配串。
输入:%s/old/new/g
替换整个文件中的每个匹配串。(比较常用)
输入:%s/old/new/gc
会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。