我最近用 indent-bars 来在 prog-mode 下展示缩进提示。
略微不满意的是:indent-bars 默认提供的竖线字符是在放在中间的,而我想要将竖线放在最左边。
于是找到了这个Unicode 字符: “⎸” (U+23B8) “⎸” U+23B8 Left Vertical Box Line Unicode Character
(use-package
indent-bars
;; :disabled ;; will cause lsp rust stuck after insert `std::'
:ensure (indent-bars :host github :repo "jdtsmith/indent-bars")
:hook (prog-mode . indent-bars-mode)
:custom-face
(indent-bars-face ((t (:height 1.08))))
:custom
(indent-bars-treesit-support t)
(indent-bars-no-descend-string t)
(indent-bars-treesit-ignore-blank-lines-types '("module"))
(indent-bars-prefer-character t)
(indent-bars-treesit-wrap
'((python
argument_list
parameters ; for python, as an example
list
list_comprehension
dictionary
dictionary_comprehension
parenthesized_expression
subscript)))
(indent-bars-no-stipple-char ?\⎸)
)
效果如下:
3 个赞
它提供了不使用 :stipple
的方案就是题主使用的 indent-bars-prefer-character
. 根据作者的描述这样的缺点应该仅仅是无法做到 :stipple
那样更细致的图案绘制, 但对性能并没有影响. 所以大多情况下不影响使用吧~
于是找到了这个Unicode 字符: “⎸” (U+23B8) “⎸” U+23B8 Left Vertical Box Line Unicode Character
这个字符不同的字体显示效果不大一样,可能显示是断开的。
试用了下 indent-bars
,效果还不错,性能还没感觉出来。还是有些小问题,不知道是不是配置问题,再看看。这个包还没发布到melpa,安装稍微麻烦点。目前还在用highlight-indent-guides
。
你可以试试给这个字符的 :height
设置高一点。看看能不能上下连起来
Roife
7
个人体验在一些极端场景下(比如折叠了大段代码)体验会比 highlight-indent-guides
很多
Roife
8
作为极简的推崇者,我倾向于优先考虑性能,其次考虑外观。indent-bars
的一些功能(比如 indent-bars-display-on-blank-lines
用于在空行显示缩进线)会对性能有很大影响,但是在功能上来说没啥用,所以我都关了
分享一下我的配置:
(use-package indent-bars
:straight (indent-bars :type git :host github :repo "jdtsmith/indent-bars")
:hook (prog-mode . indent-bars-mode)
:config
(setq indent-bars-display-on-blank-lines nil
indent-bars-width-frac 0.2
indent-bars-color '(highlight :face-bg t :blend 0.2)
indent-bars-zigzag nil
indent-bars-highlight-current-depth nil
indent-bars-pattern "|"
indent-bars-prefer-character t)
)
效果:
4 个赞