(不定期更新)个人配置分享

彩虹括号 rainbow-delimiters 性能好像是不佳,有一个替代品可以试试
https://github.com/alphapapa/prism.el

1 个赞

刚发现一种拿 org 的 tangle/noweb/变量 来管理一些 json,conf 这种配置文件的简单方法:

(with-eval-after-load 'ob-org
    (dolist (l '("conf" "json" "text" "yml"))
      (dolist (f '("org-babel-expand-body"
                   "org-babel-execute"))
        (defalias (intern (format "%s:%s" f l))
          (intern (concat f ":org"))))))

一般情况下是够用了

image

1 个赞

@SPQR 感谢,colorful-mode 太帅了!

@jacksoncy 这个包也很有趣,不过它和 rainbow-delimiters 目标似乎不太一样,我先花点时间探索一下

1 个赞

这个适合用来编辑 CSS

这个变量 blink-matching-paren-highlight-offscreen 是哪个包里面的?我怎么找不到呀

这个问题我也遇到了,但是可以设置 hl-linesymbol-overlay 的优先级(hl-line-overlay-prioritysymbol-overlay-priority)来解决,我是让后者的优先级高于前者。

2 个赞

v30.1 引入的,是内置包,具体哪个忘了…

哦哦,感谢!我还在用29,我说怎么没有 :rofl:

Simple.el

1 个赞

这个我倒是第一次知道

prism试了下,太重了,把原本的高亮全部改写。

试了一下 prism.el,感觉还可以,我先试用一段时间

2 符号高亮 symbol-overlay

这是我最喜欢的 emacs 插件之一!具体见 [推销package] symbol-overlay,同时高亮多个symbol

特别是在没有 LSP 支持的情况下,用作文档内的 renaming 非常方便。它和 isearch 的区别有几点:

  • 可以同时高亮多个 symbol
  • 能在多个 symbol 之间快速跳转
  • 它的高亮是 persistent 的
  • 支持临时高亮,即 cursor 放在 symbol 上可以直接高亮它
(use-package symbol-overlay
  :straight (:host github :repo "roife/symbol-overlay" :branch "master")
  :bind (("C-c s i" . symbol-overlay-put)
         ("C-c s n" . symbol-overlay-switch-forward)
         ("C-c s p" . symbol-overlay-switch-backward)
         ("C-c s c" . symbol-overlay-remove-all)
         :map symbol-overlay-map
         ;; `meow`
         ("h" . nil)
         ("q" . nil)
         ("i" . nil)
         ("R" . symbol-overlay-query-replace)
         ("?" . symbol-overlay-map-help)
         ("c" . symbol-overlay-put)
         ("C" . symbol-overlay-remove-all))
  :hook (((prog-mode yaml-mode) . symbol-overlay-mode))
  :config
  (setq symbol-overlay-temp-highlight-on-region t)
  )

这里我将它的快捷键都放在 C-c s 的命名空间下。C-c 是 Emacs 留给用户自定义的命名空间,s 表示 symbol,方便记忆。同时为了能够和 meow / evil 之类的模式编辑插件一起用,这里我把模式编辑下常用的快捷键(h 等)给 unbind 了。

另外我这里使用的 symbol overlay 是一个自己魔改的、支持「选中区域临时高亮」的版本。目前 symbol-overlay 的临时高亮只支持 symbol,我为它添加了类似 VS Code 等编辑器中「高亮选中区域内容」。我觉得这是个很好用的特性,但是 maintainer 觉得它和项目发展理念不符就 close 掉了🤣 所以我自己维护了一个仓库 roife/symbol-overlay,可以用 symbol-overlay-temp-highlight-on-region 开启。

效果预览

6 个赞

hl-line-overlay-priority 的默认值是-50,和symbol-overlay 不冲突呀,默认就不会覆盖。

是呀,我也没遇到过,楼主可能只是担心它们会冲突吧,实际上不会。

我遇见是和 rainbow 冲突🤣

rainbow-mode 换成colorful-mode 就没问题了。

colorful-mode 有性能问题吗?

目前没有发现性能问题,感觉使用更合理。用了rainbow-mode 很多年也换了。也许我的css之类的文件不够大?

1 个赞
1 个赞