高亮显示emacs中的尾随空白,而不更改字符

高亮显示emacs中的尾随空白,而不更改字符,emacs,whitespace,Emacs,Whitespace,我试图让emacs突出显示尾随空格。我尝试过使用,也尝试过将show training whitespace变量设置为true,但在每种情况下,它都会将换行符和空格字符的表示形式更改为$和·字符,如下所示 理想情况下,我只希望看到尾随空白以红色突出显示,而不包含任何此类字符 免责声明:我是emacs新手,因此这一点很明显。将空白样式的值更改为 (face trailing) 您可能需要重新启动空白模式才能使更改生效 要设置变量,请使用M-xset variableEnter.另一个答案是使用库

我试图让emacs突出显示尾随空格。我尝试过使用,也尝试过将
show training whitespace
变量设置为true,但在每种情况下,它都会将换行符和空格字符的表示形式更改为
$
·
字符,如下所示

理想情况下,我只希望看到尾随空白以红色突出显示,而不包含任何此类字符


免责声明:我是emacs新手,因此这一点很明显。

空白样式的值更改为

(face trailing)
您可能需要重新启动空白模式才能使更改生效


要设置变量,请使用M-x
set variable
Enter.

另一个答案是使用库(说明:)

命令
hc toggle highlight training whitespace
执行您的请求


您还可以在任何地方、给定缓冲区或给定模式下自动打开此类高亮显示。

我不使用任何库。我只是将
show training whitespace
设置为
t
,任何尾部空白都显示为红色。换行符和空格字符的表示形式不变

实际上,我的
“.emacs”
文件包含以下简单行:

(setq-default show-trailing-whitespace t)
如果您不想编辑
“.emacs”
文件,您可以尝试:

  • C-h v显示尾随空格RET
    然后单击
    自定义
    链接
  • (或者只需
    M-x自定义变量RET show training whitespace RET
  • 单击
    切换
    按钮将其设置为
    on(非零)
  • 单击菜单按钮
    状态
    为当前会话设置
  • 单击菜单按钮
    状态
    为将来的会话保存
[编辑](感谢Francesco Frassinelli的评论)

使用
setq default
,每个模式的值都会更改

如果要在某些模式下禁用它(例如
术语模式
),则必须:

  • 查找当前缓冲区的模式名称。通常,您可以使用
    M-x descripe mode RET
    (快捷方式
    C-h M
    M
    )从缓冲区中获取它

  • 找到此模式的条目“hook”。通常,它是带有后缀
    -hook
    的模式名称。您可以通过在描述模式的缓冲区中搜索“hook”来找到它。例如,您可以阅读:

    进入此模式将运行“术语模式挂钩”上的挂钩。

  • 将以下内容添加到您的
    “.emacs”
    文件中:

    (添加hook'术语模式hook(lambda()(setq显示尾部空白nil)))

  • 或者您可以尝试:

    • M-x自定义变量RET term mode hook RET
    • 单击
      INS
      按钮
    • 粘贴
      (lambda()(setq显示尾随空白nil))
    • 单击菜单按钮
      状态
      为当前会话设置
    • 单击菜单按钮
      状态
      为将来的会话保存

请注意,
show trailing whitespace
在使用
setq
进行设置时,会自动变为buffer local,这对我来说非常有用!谢谢你的详细说明。出于某种原因,另一个答案的
空白样式
(面部拖尾)
设置没有突出显示拖尾空白,所以我很高兴我们也有了这个解决方案。它似乎混淆了术语:到处都是红色块:-)你说得对!也许“术语”应该被视为例外。我添加了关于如何在某些模式下禁用它的说明。嗯