M-x alignの設定 for Ruby

M-x align-regexp を知る - gan2 の Ruby 勉強日記

実は俺もalign.elはノーマークだった。

align は「align-rules-list」って変数で整列のルールを管理してるので、これにルールを追
加してやれば「M-x align」でもやりたいことはできるようになるんだろうなぁ。

できたらルール追加したい。

ぐぐって設定してみた。
ruby-assignment-literalは代入文、ruby-xmpfilter-markはxmpfilterの「# =>」マークの設定。
どうぞ。

(add-to-list 'align-rules-list
             '(ruby-comma-delimiter
               (regexp . ",\\(\\s-*\\)[^# \t\n]")
               (repeat . t)
               (modes  . '(ruby-mode))))
(add-to-list 'align-rules-list
             '(ruby-hash-literal
               (regexp . "\\(\\s-*\\)=>\\s-*[^# \t\n]")
               (repeat . t)
               (modes  . '(ruby-mode))))
(add-to-list 'align-rules-list
             '(ruby-assignment-literal
               (regexp . "\\(\\s-*\\)=\\s-*[^# \t\n]")
               (repeat . t)
               (modes  . '(ruby-mode))))
(add-to-list 'align-rules-list          ;TODO add to rcodetools.el
             '(ruby-xmpfilter-mark
               (regexp . "\\(\\s-*\\)# => [^#\t\n]")
               (repeat . nil)
               (modes  . '(ruby-mode))))

こりゃまじ便利だ!
Emacsは本当に奥が深い。まだまだ知らんことだらけだ。