2009-09-11 130 views
12

現在我使用emacs的尾隨空白:只顯示非空行

(setq show-trailing-whitespace t) 

在我.emacs,以示對我的CC模式的尾隨空白。我似乎無法弄清楚如何讓它不顯示只有空白行的空白字體。

分隔縮進代碼的空行有時在代碼級縮進,有時不縮進,我不想將我的注意力吸引到我不想改變的行。

我想堅持使用內置的emacs模塊,但我願意使用whitespace.el,但不清楚如何配置它來執行此操作。

回答

11

由於您想使用內置模塊,因此我建議您使用指定的whitespace.el鏈接 - 因爲它隨Emacs 23一起發貨。此答案在使用該空白時適用。

只要你有你的'whitespace-style變量(這是默認設置)'trailing,如下修改什麼指示「尾隨」空白應該給你你想要的正則表達式:

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

注意:它只是默認值,前面加上\b,表示空格應該跟隨一個單詞。

2

隨着

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

字不需要直接在尾部空格的前要但可以有例如它們之間的標點字符(即,這也突出了非單詞字符後面的尾隨空白)。

編輯:
使用

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

亮點所有尾隨空格,從而消除了評論#1中提到的缺點。

+0

不利的是,'Mx空白 - 清理'不再刪除所有的空格,但只有最後一行(高亮顯示的)... – Marvin 2011-03-08 13:26:31

+0

使用'Mx圖片模式',後面跟' Cc Cc'去除所有尾隨的空格。 – Drew 2011-09-04 23:20:42