Vim基础篇(五)——搜索操作
Vim基础篇(五)——搜索操作
前言:
代码编辑少不了搜索功能,而Vim的搜索功能十分强大。
1 *和#查找
[N]*
正向查找(向下查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。[#]
反向查找(向上查找)第N次出现当前光标所处字符串的地方,将光标跳转到此处。
通过指令:noh
可以取消搜索字符串的高亮。
查找后被查找的字符串会被高亮,此时可以使用n
和N
在搜索的字符之间跳转。
[N]n
向下跳转到第N个搜索字符的字符串首。[N]N
向上跳转到第N个搜索字符的字符串首。
2 /和?查找
向下查找第N次出现“pattern”的地方。N在输入/或?之前输入。
1 | /{pattern}[/]<CR> |
1 | ?{pattern}[?]<CR> |
向下查找第N次出现“pattern”的地方,“offset”为在匹配处的偏移。N在输入/或?之前输入。
1 | /{pattern}/{offset}[/]<CR> |
1 | ?{pattern}?{offset}[?]<CR> |
向下查找第N次出现上次模式的地方。N在输入/或?之前输入。
1 | /<CR> |
1 | ?<CR> |
向下查找第N次出现上次模式的地方,“offset”为在匹配处的偏移。N在输入/或?之前输入。
1 | //{offset}[/]<CR> |
1 | ??{offset}[?]<CR> |
关于上面的”offset“用法比较灵活,介绍如下:
形式 | 含义 |
---|---|
[+][N] | 往下偏移N行,N缺省值为0 |
-[N] | 往上偏移N行,N缺省值为0 |
s[+][N] | 匹配字符串的首字符起,往右移动N个字符,N缺省值为0 |
s-[N] | 匹配字符串的首字符起,往左移动N个字符,N缺省值为0 |
b[+][N] | 等同于s[+][N] 。匹配字符串的尾字符起,往右移动N个字符,N缺省值为0 |
b-[N] | 等同于s-[N] 。匹配字符串的尾字符起,往左移动N个字符,N缺省值为0 |
e[+][N] | 匹配字符串的尾字符起,往右移动N个字符,N缺省值为0 |
e-[N] | 匹配字符串的尾字符起,往左移动N个字符,N缺省值为0 |
还可以使用;
将/
和?
查找进行多次组合查找。
例如有以下文本内容:
1 | 1 |
上面文本中有两个2,如果我想找3后面的2,而不是1后面的2,我可以这样进行搜索一步实现:
1 | /3/;2/<CR> |
第一步先找到字符3,然后继续往下找字符2,这样就实现了找3后面的2。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 OnlyCalm's Blog!
评论
ValineGitalk