5

答えの中で、私は気づきました:

;; Align with spaces only
(defadvice align-regexp (around align-regexp-with-spaces)
  "Never use tabs for alignment."
  (let ((indent-tabs-mode nil))
    ad-do-it))
(ad-activate 'align-regexp)

これは有望に聞こえますが...それは何をしますか?!

eval-regionコードのブロックを試してみました。しかし、私にとっては、align-regexpドキュメントに以下を追加するだけです。

この機能をお勧めします。

アラウンドアドバイス`align-regexp-with-spaces':
位置合わせにタブを使用しないでください。

私は実際に使うことができないようですalign-regexp-with-spaces、それが効果であるはずであるならば...私は何が欠けていますか?

GNU Emacsバージョン24.0.96.1(i386-mingw-nt6.1.7601)を使用しました。

4

1 に答える 1

4

この質問をしていると、私は関数にアドバイスするという考えがまったくわからなかったことに気づきました。

私には次のことが明らかになりました。

  • align-regexp-with-spaces関数でも変数でもありませんが、名前だけです(単一のアドバイスを有効/無効にするため)
  • それ以来(ad-activate 'align-regexp)align-regexp私が「アドバイスした」ことを実行するだけです。タブを使用しないでください。

つまりad-activate、アドバイスをアクティブにして、元の関数の動作を効果的に変更します。素晴らしい!

ただし、関数を定義するよりもこれが「優れている」理由はわかりませんalign-regexp。しかし、それでも私はEmacsLispについてあまり知りません。

ドキュメントの余分な行が混乱に追加されただけだと思います...

于 2012-06-06T19:55:08.807 に答える