彩虹括号 rainbow-delimiters
性能好像是不佳,有一个替代品可以试试
https://github.com/alphapapa/prism.el
刚发现一种拿 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"))))))
一般情况下是够用了
这个适合用来编辑 CSS
这个变量 blink-matching-paren-highlight-offscreen
是哪个包里面的?我怎么找不到呀
这个问题我也遇到了,但是可以设置 hl-line
和 symbol-overlay
的优先级(hl-line-overlay-priority
和 symbol-overlay-priority
)来解决,我是让后者的优先级高于前者。
v30.1 引入的,是内置包,具体哪个忘了…
哦哦,感谢!我还在用29,我说怎么没有
Simple.el
这个我倒是第一次知道
prism试了下,太重了,把原本的高亮全部改写。
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
开启。
效果预览
hl-line-overlay-priority
的默认值是-50,和symbol-overlay 不冲突呀,默认就不会覆盖。
是呀,我也没遇到过,楼主可能只是担心它们会冲突吧,实际上不会。
我遇见是和 rainbow 冲突🤣
rainbow-mode 换成colorful-mode 就没问题了。
colorful-mode 有性能问题吗?
目前没有发现性能问题,感觉使用更合理。用了rainbow-mode 很多年也换了。也许我的css之类的文件不够大?