Как выровнять аргументы для функций в Emacs? - PullRequest
9 голосов
/ 09 июня 2009

Скажите, если у меня есть следующее:

func(arg1, arg2, arg3...)
func(longargarg1, longerarg2, arg3,...)
...

Как мне выровнять аргументы так, чтобы они выглядели следующим образом?

func(arg1       , arg2      , arg3...)
func(longargarg1, longerarg2, arg3,...)
...

[Я могу использовать M-x align-regex для выравнивания первого аргумента, но я не могу придумать подходящее регулярное выражение для выравнивания остальных аргументов. Бонус, если ответ также касается случая, когда некоторые аргументы являются строками с запятыми в них.]

1 Ответ

17 голосов
/ 09 июня 2009

Выберите регион, затем:

C-u M-x align-regexp RET ,\(\s-*\) RET RET RET y

Регулярное выражение говорит, что нужно выравнивать запятые с пробелами после них. Значение по умолчанию, равное 1 для изменяемой группы, означает вставку пробелов, где \(\s-*\), значение по умолчанию, равное 1, для настройки пробелов означает один пробел после самого длинного расширения, и вы хотите, чтобы он повторялся по всей строке. *

...