【问题标题】:how to align arguments to functions in emacs?如何将参数与 emacs 中的函数对齐?
【发布时间】:2010-11-01 12:41:19
【问题描述】:

如果我有以下情况,请说:

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

如何对齐参数以使其类似于以下内容?

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

[我可以使用 M-x align-regex 来对齐第一个参数,但我无法使用合适的正则表达式来对齐其余参数。如果答案也考虑到某些参数是带有逗号的字符串的情况,那么奖励点。]

【问题讨论】:

    标签: emacs elisp code-formatting


    【解决方案1】:

    选择区域,然后:

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

    正则表达式表示将逗号与它们后面的空格对齐。 paren group to modify 的默认值 1 表示在\(\s-*\) 所在的位置插入空格,spaces to adjust 的默认值 1 表示在最长扩展后有一个空格,并且您希望它在整个行中重复。

    【讨论】:

    • 酷!我什至不知道还有更复杂的 align-regexp 版本。自我注意:阅读文档...但是,如果逗号在双引号对内,是否有更好的正则表达式版本忽略逗号? (emacs 似乎没有前瞻/后置类型的正则表达式)
    • 您可以编写自己的对齐例程,该例程使用语法表来确定正则表达式中的“计数”逗号。不过,我不确定如何“轻松”地做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2013-01-15
    相关资源
    最近更新 更多