在vim中查找字符串和替换字符串的相反顺序

在vim中查找字符串和替换字符串的相反顺序,vim,replace,Vim,Replace,我经常发现自己在做什么 :s/foo/bar/g *move to different line* :s/bar/foo/g 在不同的线路上。有没有一种简单的方法来交换它们,以便我可以快速执行第二个版本?您可以尝试该插件: 没有插件: :%s/foo\|bar/\=submatch(0) ==# 'foo' ? 'bar' : 'foo'/g 您可以尝试以下插件: 没有插件: :%s/foo\|bar/\=submatch(0) ==# 'foo' ? 'bar' : 'foo'/g

我经常发现自己在做什么

:s/foo/bar/g
*move to different line*
:s/bar/foo/g
在不同的线路上。有没有一种简单的方法来交换它们,以便我可以快速执行第二个版本?

您可以尝试该插件:

没有插件:

 :%s/foo\|bar/\=submatch(0) ==# 'foo' ? 'bar' : 'foo'/g
您可以尝试以下插件:

没有插件:

 :%s/foo\|bar/\=submatch(0) ==# 'foo' ? 'bar' : 'foo'/g
您可以在vim中使用dict

您可以在vim中使用dict


快速使用一次性选项是执行以下操作

:s/~/<c-r>//g<cr>

快速使用一次性选项是执行以下操作

:s/~/<c-r>//g<cr>

是否要交换到周围的字符串?你给seens的例子什么都不做sice foo将在替换后成为foo。我对其进行了编辑以使其更清晰。我想在某处做一个查找和替换,然后在其他地方做一个相反的。这在我身上经常发生…可能是重复的,你想交换到周围的字符串吗?你给seens的例子什么都不做sice foo将在替换后成为foo。我对其进行了编辑以使其更清晰。我想在某处做一个查找和替换,然后在其他地方做一个相反的。这在我身上经常发生……可能是
:h /~
:h c_CTRL-R
:h quote/
:h cmdwin
:h q:
:h 'cedit'