28

これはどこかで見たのですが、今は見つかりません。ccモードで一連の初期化ステートメントにすべての等号を並べるために、emacsに組み込み関数がありますか、または誰かがelispを持っていますか?

前:

int t=9;
Graphics g = new Graphics();
List<String> list = new List<String>();

後:

int          t    = 9;
Graphics     g    = new Graphics();
List<String> list = new List<String>();
4

3 に答える 3

45

M-x align-regexp(ここでは)を使用しM-x align-regexp RET = RETます。変数に「整列ルール」を追加することもできますalign-rules-list。これにより、将来M-x alignそれが行われます。詳細については、ドキュメント ( C-h f align) を参照してください。

于 2009-05-27T14:35:12.423 に答える
16

これは、ShreevatsaR の回答に対する harpo のコメントへの回答です。

これに関する唯一の問題は、出力を「タブ化」することです。これは、おそらくあなたが望むものではありません。これを防ぐ方法を知っていますか?

その問題を解決するために私がしたことは次のとおりです。

;; 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)
于 2011-11-15T00:14:35.713 に答える
8

Mx align でうまくいくはずです。

于 2009-05-27T14:29:58.940 に答える