本文介绍了如何在Vim/Vi中执行搜索操作。
Vim或其早期版本Vi预装在macOS和大多数Linux发行版中。 在处理文件时,搜索文本是最常见的任务之一。 当您遇到无法使用自己喜欢的编辑器的情况时,了解Vim的基础知识可能会非常有用。
基本搜索
要在Vim中搜索,您必须处于正常模式。 启动Vim编辑器时,便处于此模式。 要从其他任何模式返回正常模式,只需按Esc键。
Vim允许您使用/
(正斜杠)和?
(问号)命令快速查找文本。
要向前搜索,请按/
,向后搜索,请按?
,键入搜索模式,然后按Enter
运行搜索:
请务必注意,搜索命令将模式作为字符串而不是整个单词来查找。 例如,如果您正在搜索“ gnu”,则搜索结果匹配“ gnu”嵌入较大词(例如“ cygnus”或“ magnum”)中的内容。
按n
搜索下一个出现的内容,或按大写N
沿相反的方向搜索。
在Vim中执行搜索的基本步骤如下:
- 按
/
。 - 输入搜索模式或者字符串。
- 按
Enter
执行搜索。 - 按
n
查找 下一个事件或N
查找上一个事件。
搜索整个词
要搜索整个单词,请按/
或?
开始搜索,键入\<
标记单词的开头,输入搜索模式,键入\>
标记单词的结尾 单词,然后按Enter
执行搜索。
例如,要搜索“gnu”,您可以使用/\<
gnu\>
:
搜索当前词
您也可以通过将光标移到某个单词并按*
(星号)向前搜索或按#
(哈希)向后搜索来搜索整个单词。 要查找下一个匹配项,请再次按*
或#
。
搜索记录
Vim会跟踪您在当前会话中进行的所有搜索操作。 要浏览搜索历史记录,请按/
或?
,然后使用上/下箭头键查找上一个搜索操作。 要运行搜索,只需按Enter
。 您也可以在执行操作之前编辑搜索模式。
区分大小写
默认情况下,搜索结果区分大小写; 搜索“GNU”将不匹配“ Gnu”。
要忽略大小写,请在Vim命令行中键入:set ignorecase
或:set ic
。 您还可以通过在~/.vimrc
文件中添加命令,将忽略大小写设置为默认选项。
要更改为大小写匹配模式,请键入:set noignorecase
或:set noic
。
强制忽略大小写的另一种方法是在搜索模式后附加\c
。 例如,/Linux\c
执行忽略大小写搜索。 模式强制大小写匹配搜索之后的大写\C
。
结论
要在Vim/Vi中进行搜索,请键入/
或?
,输入搜索模式并点击Enter
。
如有任何疑问,请随时发表评论。