如何将参数与emacs中的函数对齐?

pol*_*lot 9 emacs elisp code-formatting

如果我有以下内容:

func(arg1, arg2, arg3...)
func(longargarg1, longerarg2, arg3,...)
...
Run Code Online (Sandbox Code Playgroud)

如何对齐参数以便跟随它?

func(arg1       , arg2      , arg3...)
func(longargarg1, longerarg2, arg3,...)
...
Run Code Online (Sandbox Code Playgroud)

[我可以使用Mx align-regex来对齐第一个参数,但我不能用合适的正则表达式来对齐其余的参数.如果某些参数是带有逗号的字符串,则答案也会考虑到这一点.

sco*_*zer 18

选择区域,然后:

C-u M-x align-regexp RET ,\(\s-*\) RET RET RET y
Run Code Online (Sandbox Code Playgroud)

正则表达式将逗号与跟随它们的空格对齐.要修改的paren组的默认值为1表示插入空格所在的\(\s-*\)位置,默认值1表示要调整的空格意味着在最长扩展后有一个空格,并且您希望在整个行中重复该空格.