如何在Vim或vi文本编辑器中查找单词
时间:2020-01-09 14:16:25 来源:igfitidea点击:
如何在Vi Vim中搜索和查找单词?
如何在Vim或vi文本编辑器中找到Word?
说明:Vi和vim是Linux,macOS,Unix和* BSD系列操作系统的文本编辑器。
Vim是一个免费的开源文本编辑器。
可以使用各种vi文本编辑器键进行搜索。
该页面显示了如何在Linux或类Unix系统上运行的vi或vim文本编辑器中搜索和查找单词。
在Vim或vi文本编辑器中查找单词
要使用Vim/vi搜索当前单词:
- 在普通模式下,您可以向前或向后搜索。
- 可以通过按
/
,然后执行您的搜索模式/单词在vim/vi中向前搜索。 - 要在vi/vim中向后搜索,请按
?
,然后输入搜索模式/单词。 - 一旦在vim中找到了单词,您可以按
n
键直接返回到下一个出现的单词。按下N键直接朝相反的方向前进。
让我们看一些例子。
在vim/vi中搜索单词
让我们打开一个名为/etc/passwd的文件:
$ vi /etc/passwd
或者
$ vim /etc/passwd
在"前进"方向上搜索名为Hyman的单词:
- 按ESC键
- 输入
/Hyman
- 点击
n
向前搜索名称为Hyman的单词的下一个出现。您可以按N键向后搜索。
如何在vim/vi中向后搜索单词
让我们在当前目录中打开一个名为demo.txt的文件:
$ vi demo.txt
或者
$ vim demo.txt
在"向后"方向搜索名为bar的单词:
- 按ESC键
- 输入
?bar
- 点击" N"可向后搜索名为bar的单词的下一个匹配项。您可以按
n
向前搜索。
如何搜索当前单词
假设您使用cat命令显示了一个名为data.txt的文件,如下所示:
$ cat data.txt
输出示例:
192.168.2.254 - default router 192.168.2.253 - wifi 192.168.2.252 - wifi bridge 192.168.2.254 - dns server 192.168.2.30 - backup server 192.168.2.254 - firewall 192.168.2.18 - vm server 192.168.2.203 - RHEL7 192.168.2.254 - dhcp server 192.168.2.200 - SUSE server 192.168.2.201 - FreeBSD nfs server
在正常模式下,将光标移至任何说" 254"的词。
按 * 向前搜索单词254的下一个出现,或按 # 向后搜索
从CLI搜索并打开文件
vi/vim文本编辑器支持使用以下语法运行any:命令:
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\> # search for foo word /\<FOO\> # search for FreeBSD word /\<FreeBSD\> # Case sensitive vs insensitive search done by adding the \C or \c # /\<FreeBSD\> " Case sensitive /\<FreeBSD\>\C " Case sensitive /\<FreeBSD\>\c " Case insensitive
Vim中不区分大小写的搜索
我们还可以使用以下两个配置选项在Vim中进行不区分大小写的搜索。
例如,忽略搜索模式中的大小写,执行:
:set ignorecase
现在搜索它以匹配Foo,foo,FOO等:
/foo
如果搜索模式包含大写字符,则另一个选项是覆盖ignorecase选项。
:set smartcase "
请注意,ignorecase也适用于vim下的搜索和替换选项。
搜索命令很容易获得帮助。
您需要做的就是执行以下命令:
:help /\c :help /\C :help 'ignorecase' :help 'smartcase'