在Emacs中,如何排列等于一系列初始化语句中的符号?

Che*_*eso 27 emacs formatting code-formatting

我在某个地方看到了这个,但现在找不到了.在emacs中是否有内置函数,或者有人有elisp,在cc模式中排列一系列初始化状态中的所有等号?

之前:

int t=9;
Graphics g = new Graphics();
List<String> list = new List<String>();
Run Code Online (Sandbox Code Playgroud)

后:

int          t    = 9;
Graphics     g    = new Graphics();
List<String> list = new List<String>();
Run Code Online (Sandbox Code Playgroud)

Shr*_*saR 42

使用M-x align-regexp(这里M-x align-regexp RET = RET).您还可以向变量添加"对齐规则" align-rules-list,以便将来M-x align可以执行此操作.有关C-h f align详细信息,请参阅文档().


phi*_*ils 15

这是对harpo对ShreevatsaR答案的评论的回应:

唯一的问题是它"标记"输出,这可能不是你想要的.你知道有什么方法可以防止这种情况吗?

以下是我为解决该问题所做的工作:

;; 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)
Run Code Online (Sandbox Code Playgroud)


Nat*_*ath 8

Mx对齐应该可以解决问题.