Как можно заменить все экземпляры 'foo' на 'bar' и 'bar' на 'foo' в vim?
Взгляните на это: как написать только один шаблон для обмена двумя строками двумя способами в vim
:s/foo\|bar/\={'foo':'bar','bar':'foo'}[submatch(0)]/g
Помимо использования временного слова для изменения, вы также можете использовать плагин abolish следующим образом:
:%SubVert/{foo,bar}/{bar,foo}/g
Должен существовать самый умный способ сделать это, но этот наверняка сработает!
Вы можете сделать это, используя временное слово. Просто убедитесь, что он не существует в текущем документе.
/\<asd123\> :%s/\<foo\>/asd123/g :%s/\<asd123\>/bar/g :%s/\<bar\>/foo/g