В Vim, если вы поместите курсор в начало первого слова и наберете dWWP
, это даст желаемый эффект. Вот разбивка:
dW delete the current word, including the comma and the following whitespace
W move to the start of the next word
P insert the deleted text before the cursor
Это будет работать, если после перестановки пары есть дополнительные параметры - его нужно будет изменить, если есть только два параметра или вы хотите поменять местами последние два параметра, так как он вставит текст после закрывающей скобки .
В качестве альтернативы вы можете использовать регулярное выражение:
:%s/(\([^,]\+\),\s*\([^,)]\+\)/(\2, \1/
Это найдет первые два аргумента после открытой скобки и поменяет их местами.
обновление
Поиск по vim.org обнаружил плагин Параметры обмена , который должен делать именно то, что вам нужно, и может обрабатывать ситуации, которые ни один из перечисленных выше методов не может.