如何默认突出显示不良字符?

如何默认突出显示不良字符?

我写的Markdown文件(*.md)在正常文本模式下一次又一次使用错误的单引号字符“´”代替“`”——这让我的 markdown 处理器感到困惑(注意:只有单个符号,没有这里描绘的双引号)

我想配置 emacs-24 以始终用红色背景突出显示该字符。所有模式都可以,但最好只使用文本模式。我使用的模式是 ( describe-mode)

启用次要模式:自动排版 自动压缩 自动加密 闪烁光标 列号 桌面保存 差异自动优化 文件名阴影 Flyspell 字体锁定 全局字体锁定 完成 行号 菜单栏 鼠标滚轮 Shell Dirtrack 显示参数 工具提示 瞬态标记

答案1

使用以下示例答案,请随意将背景和前景色更改为您想要的任何颜色(只要颜色存在) - 请参阅M-x list-colors-display

笔记:许多其他模式继承了文本模式,并在其基础上添加了其他内容。例如,以下示例答案在文本模式下有效,但也可以在 latex 模式下工作(继承了文本模式设置)。避免继承设置的最简单解决方案是使用特定模式(文本模式除外)来编写 Markdown 文件并为该特定模式设置字体锁定附加内容。这是 tt-mode 的链接,它非常有助于更好地理解字体锁定的工作原理,您可以设置类似的内容来为 Markdown 文件创建自己的自定义模式。 https://github.com/davorg/tt-mode/  不过,我觉得 Markdown 一定已经存在特殊模式,你可以使用这些模式,然后只需将答案中的代码行更改为你最终决定的模式 - 例如,http://www.emacswiki.org/emacs/MarkdownMode

(defvar lawlist-super-orange (make-face 'lawlist-super-orange))
(set-face-attribute 'lawlist-super-orange nil :background "white" :foreground "orange" :bold t :underline nil :font "Courier" :height 180)

(defvar lawlist-super-cyan (make-face 'lawlist-super-cyan))
(set-face-attribute 'lawlist-super-cyan nil :background "white" :foreground "cyan" :bold t :underline nil :font "Courier" :height 180)

(add-hook 'text-mode-hook

  (lambda () (font-lock-add-keywords nil (list

    (list (concat "\\(´\\)\\(\\(.\\|\n\\)+?\\)\\(´\\)")
      '(1 lawlist-super-orange t)
      '(2 lawlist-super-cyan t)
      '(4 lawlist-super-orange t))

    (list (concat "lawlist\\|´\\|towi")
      '(0 lawlist-super-orange t)) ))))

例子

相关内容