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