【问题标题】:Highlighting trailing whitespace in emacs without changing character在不改变字符的情况下突出显示 emacs 中的尾随空格
【发布时间】:2015-12-30 14:56:57
【问题描述】:

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

理想情况下,我希望看到尾随空格以红色突出显示,而没有任何此类字符。

免责声明:我是 emacs 新手,所以这很明显。

【问题讨论】:

    标签: emacs whitespace


    【解决方案1】:

    我不使用任何库。我只是将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)从缓冲区中获取它。

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

      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 > Set for Current Session
      • 点击菜单按钮State > Save for Future Sessions

    请注意,show-trailing-whitespace 在使用 setq 设置时会自动变为缓冲区本地。

    【讨论】:

    • 非常适合我!并感谢您的详细说明。出于某种原因,另一个答案的whitespace-style(face trailing) 设置没有突出显示尾随空格,所以我很高兴我们也有这个解决方案。
    • 它似乎与术语混淆:到处都是红色块:-)
    • 你是对的!也许“术语”应该被视为一个例外。我添加了有关如何在某些模式下禁用它的说明。 HTH
    【解决方案2】:

    whitespace-style变量的值改为

    (face trailing)
    

    您可能需要重新启动空白模式才能使更改生效。

    要设置变量,请使用 M-xset-variableEnter

    【讨论】:

      【解决方案3】:

      另一个答案是使用库highlight-chars.el(描述:Highlight library)。

      命令 hc-toggle-highlight-trailing-whitespace 执行您的请求。

      您也可以在任何地方或在给定缓冲区或给定模式下自动打开此类突出显示。

      【讨论】:

        猜你喜欢
        • 2019-07-18
        • 2012-02-25
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 2022-10-21
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        相关资源
        最近更新 更多