在vim中保留大小写的搜索和替换?

Kev*_*vin 13 vim search replace case-sensitivity

在 中vim,我知道我可以在区分大小写或不区分大小写的情况下进行搜索。但是,如果我想搜索大写或小写的字符串,并用相同大小写的替换来替换它,这是否可以在单个:s///?

例如,我想更改这些行:

short
Short
SHORT
Run Code Online (Sandbox Code Playgroud)

long
Long
LONG
Run Code Online (Sandbox Code Playgroud)

我可以用三个:s命令来做到这一点,或者一个不敏感:s并手动修复案例,但有更好的方法吗?保留大小写的搜索和替换?

小智 7

你可以试试这个插件。

https://github.com/tpope/vim-abolish

该插件不仅可以帮助您匹配区分大小写的文本,还可以帮助您匹配其变体。喜欢/good{,ies}既可以匹配好东西,也可以匹配好东西。

同样,它可以替换为区分大小写以及包含的变体。

      :%S/long/short/g
Run Code Online (Sandbox Code Playgroud)

将用短替换长,用短替换长,用短替换长。


jw0*_*013 3

:s据我所知,没有一个原生功能可以做到这一点,但如果您愿意安装附加组件,您可以查看 Michael Geddes 的keepcase 插件