在vi编辑时,如何进行搜索

时间:2019-11-20 08:53:25  来源:igfitidea点击:

在vim/vi编辑文件时,如何进行搜索?
Linux编辑文件如何搜索单词?
在vim/vi编辑文件时,如何查找某个单词?

在Vim或vi中搜索单词

要在vi中搜索某个字符串:

  • ESC切换到普通模式,可以进行向前或向后搜索。
  • 向前搜索: 先按 /后面跟着要搜索的字符串,然后按回车键 Enter
  • 向后搜索: 先按 ?后面跟着要搜索的字符串,然后按回车键 Enter
  • 向前查找下一个匹配项:n
  • 向后查找下一个匹配项:N

在vim/vi中搜索单词

使用vi打开/etc/passwd文件:

$ vi /etc/passwd

搜索用户Hyman:

  • ESC
  • 输入/Hyman,回车
  • n向前搜索下一个。
  • N向后搜索下一个。

vi编辑器打开文件并跳转

vi/vim还执行以下语法(打开文件跳转到匹配位置):

vi +commandHere fileName
vim +LineNumber fileName
vi +/searchTermHere fileName
vi +/LineNumberHere fileName
vim +/LineNumberHere fileName

示例

打开文件并转到名为main()的函数:

$ vim +/main filename-here

打开文件并转到第42行:

$ vim +42 fileName

如何在vim/vi中查找时,如何设置完整匹配

我们可以使用以下语法在VIM中搜索整个单词:

# 语法
/\<WORD-TO-SEARCH\>
# 搜索FOO
/\<FOO\>
# 搜索Linux
/\<Linux\>
# 添加 \C 和 \c 可以进行区分和不区分大小写匹配。
/\<FreeBSD\>      " 默认区分大小写
/\<FreeBSD\>\C    " 区分大小写
/\<FreeBSD\>\c    " 不区分大小写

在vi中搜索时,如何不区分大小写

我们还可以使用以下两个配置选项在Vim中进行不区分大小写的搜索。

例如,忽略搜索模式中的大小写:

:set ignorecase

下面的指令将匹配Foo,foo,FOO,FoO等。

/foo

另一种方法是覆盖ignorecase选项。

:set smartcase "