2009-09-11 23 views
12

Ngay bây giờ tôi đang sử dụng:Hiện dấu khoảng trắng trên emacs chỉ trên dòng không trống

(setq show-trailing-whitespace t) 

Trong tôi .emacs để hiển thị dấu khoảng trắng cho chế độ CC của tôi. Tôi dường như không thể tìm ra cách để nó không hiển thị phông chữ khoảng trắng cho các khoảng trắng.

Dòng trống tách mã thụt lề đôi khi thụt vào ở cấp mã và đôi khi không thụt lề, và tôi không muốn thu hút sự chú ý của mình vào một dòng mà tôi không quan tâm.

Tôi muốn gắn các mô-đun emac tích hợp sẵn, nhưng tôi sẵn sàng sử dụng whitespace.el nhưng không rõ cách cấu hình để thực hiện việc này.

Trả lời

11

Vì bạn muốn sử dụng các mô-đun tích hợp, tôi khuyên bạn nên sử dụng liên kết whitespace.el mà bạn đã chỉ định - vì nó được vận chuyển với Emacs 23. Câu trả lời này hoạt động khi sử dụng khoảng trắng đó.

Chừng nào bạn có 'trailing trong 'whitespace-style biến của bạn (mà nó là theo mặc định), sự thay đổi sau đây để các biểu thức chính quy cho những gì chỉ ra "dấu" khoảng trắng sẽ cho bạn những gì bạn muốn:

(setq whitespace-trailing-regexp 
    "\\b\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$") 

Lưu ý: Nó chỉ là giá trị mặc định, với \b được thêm vào trước, cho biết khoảng trắng phải theo một từ.

2

Với

"\\b.*\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$"

từ không cần phải trực tiếp ở phía trước của khoảng trắng đuôi nhưng có thể có ví dụ các ký tự dấu chấm câu giữa chúng (tức là điều này cũng làm nổi bật các khoảng trống sau dấu sau các ký tự không phải từ).

Edit:
Sử dụng

"\\b.*?\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$")

nổi bật tất cả các khoảng trắng theo sau và do đó loại bỏ nhược điểm nêu trong bình luận # 1.

+0

Mặt khác, 'Mx khoảng trắng-dọn dẹp' không loại bỏ tất cả các khoảng trắng nữa, nhưng chỉ dòng cuối cùng trong dòng (phần được đánh dấu) ... – Marvin

+0

Sử dụng' Mx picture-mode' theo sau là ' Cc Cc' để xóa tất cả khoảng trống ở cuối. – Drew

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