我正在尝试使用emacs来突出显示尾随空格。我尝试过使用WhiteSpace,并尝试将show-trailing-whitespace
变量设置为true,但在每种情况下都会将换行符和空格字符的表示形式更改为$
和·
个字符,如screen capture所示。
理想情况下,我希望只看到以红色突出显示的尾随空格而没有任何此类字符。
免责声明:我是emacs的新手,所以这很明显。
答案 0 :(得分:13)
我没有使用任何图书馆。我只是将show-trailing-whitespace
设置为t
,任何尾随空格都显示为红色。换行符和空格字符的表示不会改变。
实际上,我的".emacs"
文件包含以下简单的行:
(setq-default show-trailing-whitespace t)
如果您不想编辑".emacs"
文件,可以尝试:
C-h v show-trailing-whitespace RET
然后点击customize
链接M-x customize-variable RET show-trailing-whitespace RET
)toggle
按钮将其设置为on (non-nil)
State
> Set for Current Session
State
> Save for Future Sessions
[编辑](感谢 Francesco Frassinelli 的评论)
使用setq-default
,每个模式的值都会更改。
如果要在某些模式下禁用它(例如term-mode
),则必须:
找到当前缓冲区的模式名称。通常,您可以使用M-x describe-mode RET
(快捷C-h m
或<f1> m
)在缓冲区内获取。
找到条目&#34; hook&#34;对于这种模式。通常,它是带有后缀-hook
的模式名称。您可以通过搜索&#34; hook&#34;找到它。在描述模式的缓冲区中。例如,您可以阅读:
Entry to this mode runs the hooks on ‘term-mode-hook’
将以下内容添加到".emacs"
文件中:
(add-hook 'term-mode-hook (lambda () (setq show-trailing-whitespace nil)))
或者您可以尝试:
M-x customize-variable RET term-mode-hook RET
INS
按钮(lambda () (setq show-trailing-whitespace nil))
State
&gt; Set for Current Session
State
&gt; Save for Future Sessions
请注意,show-trailing-whitespace
设置时使用setq
会自动变为缓冲区本地。
答案 1 :(得分:3)
将whitespace-style
变量的值更改为
(face trailing)
您可能需要重新启动空白模式才能使更改生效。
要设置变量,请使用 M-x set-variable
输入。
答案 2 :(得分:0)
另一个答案是使用库highlight-chars.el
(说明:Highlight library)。
命令 hc-toggle-highlight-trailing-whitespace
执行您的请求。
您也可以在任何地方或在给定缓冲区或给定模式下自动打开此类突出显示。