我正在尝试使用以下elisp函数来使用=
对齐文本:
(defun align-= ()
"Align lines by `=`"
(interactive)
(align-regexp (region-beginning) (region-end) "="))
我正在努力调整以下文字:
offer = stub('offer')
user = stub('user')
但emacs会返回以下错误:
align-region: Marker does not point anywhere
我做错了什么?
由于
答案 0 :(得分:8)
我通过这样做得到了它:
(defun align-= (p1 p2)
"Align lines by ="
(interactive "r")
(align-regexp p1 p2 "\\(\\s-*\\)=" 1 1 nil)
)
据我了解,align-regexp
没有收到您认为收到的内容。
您可以通过调用M-x align-regexp <RET> = <RET>
手动测试,然后点击C-x ESC ESC
(默认情况下repeat-complex-command
绑定到C-x ESC ESC
,您也可以使用Mn / Mp进入历史)你会看到传递给align-regexp
的确切内容。然后我将该行复制到该函数中。 (我也使用了交互式“r”,因为它很方便)
它在Emacs 24上为我工作。
相关但与100%完全相同:
Inconsistent M-x align-regexp vs. C-u M-x align-regexp behaviour
还有: