有没有用于标记的package?

举个例子:我选中一段区域,需要标记背景色为蓝色,再选中一段区域,标记为绿色。

请问这类的package或spacemacs 的layer有吗?

如果是要选中并高亮代码。没有。 如果是要做笔记,试试 org 或 markdown, 虽然默认不是用背景色高亮,但是可以hack。 如果要注释PDF,用 pdf-tool

看了一下,好像有用emacs编辑rtf的包,我还没有试过,不过高亮背景色的话rtf格式应该能满足你的要求,也能用其他文本编辑器打开。

http://savannah.nongnu.org/projects/emacs-rtf/

http://kitchingroup.cheme.cmu.edu/blog/2016/11/10/Persistent-highlighting-in-Emacs/

这两个东西我还没来得及试用,也不知道效果怎么样_(:зゝ∠)_

1 个赞

jkitchin 有一个包 ov-highlighter 就是实现的这个功能. https://github.com/jkitchin/scimax/blob/master/ov-highlighter.el

不过他的包会把高亮信息保存为file-local-variable存在文件里, 我自己修改了一个版本去掉了这个功能. https://github.com/YiLiu6240/yxl-spacemacs/blob/master/site-lisp/ov-highlighter.el

我自用的spacemacs的ov-highlighter layer在这里 https://github.com/YiLiu6240/yxl-spacemacs/blob/master/layers/ov-highlighter/packages.el 楼主可以参考写一个, 需要注意包的引用路径.

2 个赞

我用的 highlight-global 这个 package,非常好用。

下面是我的配置

(defun zilongshanren-misc/init-highlight-global ()
  (use-package highlight-global
    :init
    (progn
      (spacemacs/set-leader-keys "hh" 'highlight-frame-toggle)
      (spacemacs/set-leader-keys "hc" 'clear-highlight-frame)
      (setq-default highlight-faces
        '(('hi-red-b . 0)
          ('hi-yellow . 0)
          ('hi-pink . 0)
          ('hi-blue-b . 0))))))

Spacemacs 自带一个 hl-anything 但是那个有 bug,会和 org-agenda view 的语法高亮冲突。

详细配置参考我的 Spacemacs:

2 个赞

是说临时的标记吗,比如在阅读的文章/分析代码的时候把内容/关键字标亮,而不是像给 pdf 标注那样永久的改变目标文件吧。

我经常用:

  • 自带的 hi-lock.el,应该是其它标注类 package 的基础了,里边有 highlight-regex (标亮正则匹配的内容)这样方便的函数。
  • 三方的 highlight-symbol.el,很方便标注变量/函数…等各种符号。
2 个赞

各位回答都不错,看来有不少选择,抽时间先试下子龙的配置方案,感谢各位的回答。

Hi, 我参考你的方式写了一个layer,只不过我的 ov-highlighter 和 org-ov-highlighter 放在了 local里面,这样如何激活这两个package?因为我看你的配置里面也是defer加载了。

貌似evil mode 的visual mode highlight line 用V有问题,得要highlight另外一个才行,但是用鼠标mark regin没有问题。。。

搞了一个多小时搞定了,不过目前 org-ov-highlighter 这个package貌似加载失败。其余的都可以了。另外高亮信息保存的,我只是注释掉了原ov-highlighter.el的下面这句话:

 (advice-add 'kill-ring-save :around 'ov-highlight-copy-advice)

已经可以正常使用了,多谢哈。

您好,我想根据您自用的layer来配置。然而不知道怎么配置自己的layer。我是用spacemacs自带create-layer。然后存放在private里面。自动生成的packages.el.只有一句(defconst highlight-packages ()。我就直接复制您的配置文件,然后改这部分对么?? (setq ov-highlighter-packages '(ov ```(ov-highlighter :location elpa) (org-ov-highlighter :location elpa) `

可能比 highlight-symbol 效率高。

1 个赞