查找指令
1、vim中查找分为向上查找’?’和向下查找’/’。例如:
:/abc 表示从当前位置开始向下查找abc或者*abc*(*代表任意长度的字符)
:?abc 表示从当前位置开始向上查找abc或者*abc*
当然如果你想继续查找是否还有abc出现,可以键入n或者N,n代表向下继续查找,N代表向上继续查找。
2、如果想要查找的模式串中包含/或者?以及其他的特殊字符,如^,$等,则需要使用转义字符’\’,例如:
:/\/home,则表示需要查找’/home’字符串。
1、:s/s1/s2
表示将当前行第一个s1替换成s2
2、:s/s1/s2/g
表示将当前行所有的s1替换成s2
3、:%s/s1/s2
表示将文本中每一行的第一个s1替换成s2
4、:%s/s1/s2/g
表示将文本中所以的s1替换成s2
5、当然你可以不使用/作为分隔符,vim支持使用+和#作为分隔符。那么上面的指令都可以变成如下:
:s+s1+s2
:s#s1#s2
:s+s1+s2+g
:s#s1#s2#g
:%s+s1+s2
:%s#s1#s2
:%s+s1+s2+g
:%s#s1#s2#g
最快的方式是让光标停留在想要查找的单词的任意一个字母上面, 然后输入Shift + * ,即可快速选中该单词,并且可以通过 n 或 N 进行上一个或下一个的匹配。
VIM查找命令小结
VIM命令 | 功能 |
---|---|
f | 向前搜索并将光标停留在目标字符上 |
F | 向后搜索并将光标停留在目标字符上 |
; | 重复刚才的查找 |
, | 反向重复刚才的查找 |
t | 向前搜索并将光标停留在目标字符的前一个字符上 |
T | 向后搜索并将光标停留在目标字符的后一个字符上 |
/ | 向前查找 |
? | 向后查找 |
n | 继续查找 |
N | 反向查找 |
* | 向前查找与当前光标下字符精确匹配的字符串 |
# | 向后查找与当前光标下字符精确匹配的字符串 |
:set hlsearch | 打开高亮显示查找的文本 |
:set nohlsearch | 关闭高亮显示查找的文本 |
:nohlsearch | 关闭当前高亮显示的结果 |
:set incsearch | 打开显示查找匹配过程 |
:set noincsearch | 关闭显示查找匹配过程 |
:set ignorecase | 忽略大小写 |
:set noignorecase | 精确匹配大小写 |
:set nowrapscan | 禁止循环查找方式 |
:set wrapscan | 启用循环查找方式 |