如何在Vim/Vi中搜索

时间:2020-03-05 15:30:08  来源:igfitidea点击:

本文介绍如何在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'强制进行大小写匹配搜索。