org模式下如何使文字高亮或改变颜色

windows系统,GNU Emacs版, Index of /pub/gnu/emacs/windows 下载的emacs-25.2-x86_64版本。

希望使特定文字能够被高亮或改变文字颜色。跟word中选中文字然后高亮\修改文字颜色的效果差不多。

有参考下面两个网页的内容,但没有很懂,也不是很可行。 链接1 链接2

不知道有没有什么方法可以实现这个功能。

Org mode 是纯文本,它的内容都是文字本身,不会存储颜色、样式之类的信息。你可以用系统预装的“记事本”打开一个 Org mode 文件看看。

我写了一个这样的烂函数来highlight选中的内容:

(defun peng-highlight-region ()
  "highlight region"
  (interactive)
  (let* ((regexp (buffer-substring (region-beginning)
                                   (region-end)))
	 (hi-lock-auto-select-face t)
	 (face (hi-lock-read-face-name)))
    (or (facep face) (setq face 'hi-yellow))
    (unless hi-lock-mode (hi-lock-mode 1))
    (hi-lock-set-pattern regexp face)))

下面这个函数可以把buffer全部的高亮都去掉。

(defun peng-unhighlight-all ()
  (interactive)
  (unhighlight-regexp t))

只去掉某个高亮使用unhighlight-regexp函数。

直接高亮当前光标下的symbol可以使用highlight-symbol-at-point。

平时我看代码多点。所以经常高亮当前光标下的symbol。我觉得symbol-overlay做得很不错。不过你如果是org-mode写中文的话,可能这类需求不会很大。

至于改变文字颜色,我懒得搞了 :slight_smile:

之前因为使用emacs过程中遇到各种问题,被打击了一段时间没有再用。现在重拾信心,再次回来尝试。谢谢给的解决方案!将会尝试。thanks!