我想把这样的东西放在我的.emacs中:
(local-set-key (kbd "C-c a =")
(lambda () (interactive)
(align-regexp (region-beginning) (region-end) "=")))
但每当我运行它时,我都会收到错误“错误的类型参数:numberp,nil”。
这个错误是什么意思,我如何得到我正在寻找的效果?
答案 0 :(得分:16)
你是我亲爱的伙伴。
(defun align-to-equals (begin end)
"Align region to equal signs"
(interactive "r")
(align-regexp begin end "\\(\\s-*\\)=" 1 1 ))
(\s-*)
前缀由align-regexp
来自align.el
(list (concat "\\(\\s-*\\)"
John Wiegley只是忽略了记录它,我想大多数人只是交互使用align-regexp,或者只记录并保存一个宏!
答案 1 :(得分:2)
(local-set-key (kbd "C-c a =")
(lambda () (interactive)
(align-regexp (region-beginning) (region-end) "\\(\\s-*\\)=" 1 1 nil)))
有人在意解释“=”的奇怪前缀吗?
答案 2 :(得分:0)
我挑选了align-regexp
的来源(在debian上安装emacs23-el
)并想出了这个:
(local-set-key (kbd "C-c a =")
(lambda () (interactive)
(align-region (region-beginning)
(region-end)
'entire
(list (list nil
(cons 'regexp "\\(\\s-*\\)=")
(cons 'group 1)
(cons 'bogus nil)
(cons 'spacing 1)))
nil
nil)))