2

Я знаю, как выполнить несколько замен одновременно в vim, но это ведет себя правильно только в том случае, если ни одна из замен не соответствует последующему элементу, подлежащему замене. Это можно обойти, используя временные заменители, чтобы избежать коллизий, которые впоследствии заменяются правильной строкой, но это грязно.

Каков наилучший способ сделать что-то подобное в vim?

a b c d e

становится

b c d e a

В этом случае каждый элемент имеет уникальную замену, но я хотел бы найти как можно более общее и удобное решение. Не сосредотачивайтесь на том, какие регулярные выражения нужны, а скорее на том, как выполнить множественные замены в одной операции, чтобы не было промежуточного состояния, в котором произошла бы неправильная замена.

0