Ответ 1
Используйте M-x align-regexp
(здесь, M-x align-regexp RET = RET
). Вы также можете добавить "правило выравнивания" к переменной align-rules-list
, чтобы в будущем M-x align
это сделало. Подробнее см. Документацию (C-h f align
).
Я видел это где-то, но не могу найти его сейчас. Есть ли встроенная функция в emacs или кто-то имеет elisp, чтобы выровнять все знаки равенства в серии записей инициализации в cc-режиме?
До:
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>();
Используйте M-x align-regexp
(здесь, M-x align-regexp RET = RET
). Вы также можете добавить "правило выравнивания" к переменной align-rules-list
, чтобы в будущем M-x align
это сделало. Подробнее см. Документацию (C-h f align
).
Это ответ на комментарий к команде 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)
M-x align должен делать трюк.