2009-05-27 31 views
25

Tôi thấy điều này ở đâu đó, nhưng không thể tìm thấy nó ngay bây giờ. Có chức năng tích hợp trong các emacs, hay ai đó có elisp, để xếp hàng tất cả các dấu bằng trong một loạt các statitialization trong cc-mode?Trong Emacs, làm thế nào để xếp hàng bằng dấu hiệu trong một loạt các câu lệnh khởi tạo?

Trước:

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

Sau:

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

Trả lời

38

Sử dụng M-x align-regexp (ở đây, M-x align-regexp RET = RET). Bạn cũng có thể thêm "quy tắc căn chỉnh" vào biến align-rules-list, để trong tương lai M-x align sẽ làm điều đó. Xem tài liệu (C-h f align) để biết chi tiết.

+0

Ok, tôi đã bị ràng buộc này để C-x |. Làm thế nào tôi sử dụng emacs quá lâu và không biết về điều này? Cảm ơn đã giúp đỡ. – Cheeso

+0

Vấn đề duy nhất với điều này là nó "tabifies" đầu ra, mà có lẽ không phải là những gì bạn muốn. Bạn có biết cách nào để ngăn chặn điều này không? – harpo

+1

harpo: Tôi đã thêm câu trả lời mới cho câu hỏi của bạn. – phils

8

M-x class nên làm các trick.

12

Đây là để phản ứng lại bình luận Harpo để trả lời ShreevatsaR của:

Vấn đề duy nhất với điều này là nó "tabifies" đầu ra, mà có lẽ không phải những gì bạn muốn. Bạn có biết cách nào để ngăn chặn điều này không?

Dưới đây là những gì tôi đã làm để giải quyết vấn đề đó:

;; 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) 
+1

Đây không phải là câu trả lời hay cho câu hỏi ban đầu, nhưng có giá trị, có giá trị , quý giá. (Tôi nghĩ rằng tôi chỉ Ballmered.) – JasonFruit

+0

Nó đã cho tôi một thời gian để hiểu những gì điều này [không] (http://stackoverflow.com/questions/10921225/what-does-ad-activate-do) ... –

Các vấn đề liên quan