我希望把這樣的事情在我的.emacs:Emacs的熱鍵來對齊等號
(local-set-key (kbd "C-c a =")
(lambda() (interactive)
(align-regexp (region-beginning) (region-end) "=")))
但每當我運行它,我得到一個錯誤「錯誤類型參數:numberp,無」。
這個錯誤是什麼意思,我如何得到我正在尋找的效果?
我希望把這樣的事情在我的.emacs:Emacs的熱鍵來對齊等號
(local-set-key (kbd "C-c a =")
(lambda() (interactive)
(align-regexp (region-beginning) (region-end) "=")))
但每當我運行它,我得到一個錯誤「錯誤類型參數:numberp,無」。
這個錯誤是什麼意思,我如何得到我正在尋找的效果?
在這裏,你是我親愛的夥伴。
(defun align-to-equals (begin end)
"Align region to equal signs"
(interactive "r")
(align-regexp begin end "\\(\\s-*\\)=" 1 1))
的(\s-*)
前綴是由ALIGN-正則表達式內部使用
從align.el
(list (concat "\\(\\s-*\\)"
約翰Wiegley只是忽略了記錄它,我想大多數人只使用ALIGN-正則表達式交互,或者只是記錄並保存一個宏!
我百般挑剔的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)))
但是當然可以做這個任務而不需要挖出align命令的內部? – qrest 2010-09-03 06:38:13
我會這麼想的,但我不明白'align.el'。 – 2010-09-03 07:02:08
「咚」 從#emacs解決它:
(local-set-key (kbd "C-c a =")
(lambda() (interactive)
(align-regexp (region-beginning) (region-end) "\\(\\s-*\\)=" 1 1 nil)))
有人照顧解釋奇怪的前綴「=」?
請注意,最後一個零是可選的,而11不是。 align.el的文檔需要整理。 – ocodo 2010-09-03 07:56:14
毆打到衝... – ocodo 2010-09-03 07:41:16
但更好的解釋! – qrest 2010-09-03 07:55:05
我會給你一個+1雖然:) ... \ s- *前綴很奇怪。 – ocodo 2010-09-03 07:57:31