使用Vim打开文件

假设我们要操作的文件是README.md,执行以下命令在Vim中打开:

vim README.md

在Vim中进行查找/搜索操作

在 vim 中进行查找/搜索操作,首先要按/进入搜索命令模式(search command mode)

如下图所示,进入搜索命令模式后,在窗口的左下角会有一个斜线/

如需退出该模式,按ESC即可。

进入搜索命令模式后,窗口左下角的光标处需输入要搜索的内容,然后按enter后vim 就会跳转到文件中的第一个匹配项。

您可以按n查找下一个,或按N查找上一个。

如果要不区分大小写搜索,可以使用\c参数,如下所示:

/www.02405.com\c

上面的命令将搜索www.02405.com且不区分大小写的字符串,例如www.02405.comWWW.02405.comWWW.02405.com

在vim中进行替换操作

搜索后,您可能想在 vim 中进行替换,在替换之前,您必须转到 vim 的命令模式(command mode)中:

ESC退出搜索命令模式,然后输入:进入命令模式。

如下图所示,进入命令模式后,在窗口的左下角会有一个冒号:

vim的替换命令格式如下:

:{替换范围}s/{要进行替换的文本}/{要替换成的文本}/{替换标签}

比如替换范围中的%表示批量替换。替换标签中的g表示全局替换。

:%s/foo/bar/g

上面的命令将把文件中的所有foo替换成bar

如果要替换一系列行,请执行以下操作:

:3,14s/foo/bar/g

上面的命令将把文件中第 3 行到第 14 行中的所有foo替换bar,包括第 3 和第 14 行。

如果你想更谨慎的替换,那么可以使用确认替换:

:%s/foo/bar/gc

上面的命令将在执行替换操作时进行确认提示:

replace with bar (y/n/a/q/l/^E/^Y)?

y替换、n不替换、a全部替换、q退出搜索模式、l替换当前位置退出。^E^Y是光标移动快捷方式。

如果要替换特殊字符,请执行以下操作:

:%s/,/\r/g

在上面的命令中,我们用\r全局替换逗号,\r意思表示回车换行。

如果要将 DOS 风格的\r\n替换为 Unix 风格的\n,可以使用以下命令:

:set fileformat=unix
:w

以上命令会将\r\n全部替换为\n

vim中特殊字符的替换方法

如果要将http://www.02405.com全部替换成https://www.02405.com,因为内容中的/和搜索命令中的/冲突,我们可以用特殊格式搜索替换:

在 vim 命令模式下,输入:

%s,http://www.02405.com,https://www.02405.com,g

您可以看到我们在搜索和替换命令中使用逗号作为分隔符以避免冲突。

(adsbygoogle = window.adsbygoogle || []).push({});