在Emacs(org-mode)中突出显示所选文本

10

我正在寻找一种在Emacs中永久性地突出显示选定文本的方法,就像在PDF中使用标记一样。我正在使用org-mode。

我尝试在Google上搜索,但很惊讶我没有找到任何相关内容。


这不是一个编程问题,对吗?因此应该在superuser.com上发布,而不是在这里。 - Robin Green
1
听起来很合理,但大多数关于emacs的问题不都像这个一样吗?而且这个网站上有很多这样的问题。 - user2664856
好的,那么:Emacs 对 org-mode 文件不提供此功能。 - Robin Green
我不是在谈论亮点成为核心焦点,而是一个人添加的很好的功能。 - user2664856
4
嗯,阅读了一遍 stackoverflow.com 上的相关页面后,我认为这个问题并不属于不相关话题。这个问题是关于程序员常用的软件工具,而且就我所看到的,与 Emacs 的可编程性相关。 - Ha-Duong Nguyen
显示剩余7条评论
2个回答

15
在Org-mode中,您可以使用*word*word加粗,/word/word斜体,_word_word带下划线。
您可以通过选项->自定义Emacs->特定选项重新定义强调字符,然后输入org-emphasis-alist
从长远来看,如果您保存并关闭缓冲区,然后重新加载文件到Emacs中,您仍然会看到相同的突出显示。
另一种方法是使用enriched-mode。输入M-x enriched-mode。如果font-lock-mode未被激活,您可以使用诸如编辑->文本属性->面->加粗之类的命令进行格式设置,这些格式设置将永久保存在文本文件中。这显然会在文本文件中留下痕迹。如果您使用M-x find-file-literally加载文件,则可以看到这些痕迹。
请注意,在X11端(我认为在win32端也是如此),为了更轻松地进行格式设置,您可以通过单击顶部的断线来分离菜单(在以下图像的右侧,有两个这样的分离菜单)。 font-lock-mode会使用来自参数(如font-lock-keywords)的规则自动重新整理文本,并删除所有其他格式设置(这些参数通常由major-mode设置)。因此,如果激活了font-lock-mode,则无法使用文本属性。Org-mode使用font-lock-mode,因此无法在org-mode中使用Edit-> Text Properties-> Face-> Bold中的文本属性(相应的菜单项已被禁用)。您可以使用C-h m检查font-lock-mode是否处于活动状态。如果列出了Font-Lock,则表示已激活。或者,您可以查询C-h vfont-lock-mode,如果font-lock-mode处于活动状态,则返回t

答案越来越好了 :) - user2664856
2
确实。您可能想查看这个Stack Overflow问题 - Ha-Duong Nguyen
了解enriched-mode很不错,但在执行“M-x enriched-mode”后,在Emacs的“编辑->文本属性->Face...”菜单中无法启用,无论是在正常的“emacs”还是在“emacs-q”下都是灰色的。我尝试了搜索,但没有找到相关内容。 - CodyChan
@CodyChan 对我来说使用 emacs -Q 没有问题。如果在你的 load-path 中存在 site-start.el 文件,那么命令 emacs -q 将会加载它。我的 Emacs 版本是:GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.10.7) of 2014-03-07 on toyol, modified by Debian - Tobias
@Tobias 对我来说不起作用,即使在 emacs -Q 中也是如此。 Emacs 版本:GNU Emacs 24.4.1 (i686-redhat-linux-gnu, GTK+ Version 3.14.5) of 2014-11-19 on buildvm-13.phx2.fedoraproject.org,操作系统:Fedora 21(3.17.4-301.fc21.i686+PAE)。我从 Gnus 页面下载了 tar 文件并解压缩,使用 -Q 执行二进制文件,但它仍然无法正常工作。 - CodyChan
显示剩余3条评论

5
您可以使用hi-lock-mode的一些命令:
  • highlight-regexp将要求您输入要突出显示的正则表达式和颜色(有一些前景和背景颜色的组合)
  • highlight-lines-matching-regexp按照其字面意思执行操作
  • 您可以使用hi-lock-mode启用或禁用它

您可以使用hi-lock-write-interactive-patterns (M-s h w)永久保存它们。Emacs会在您的缓冲区中写入一行带注释的LISP代码。

在此处查看更多技巧:https://www.gnu.org/software/emacs/manual/html_node/emacs/Highlight-Interactively.html

http://www.masteringemacs.org/articles/2010/10/13/highlighting-by-word-line-regexp/

享受吧!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接