【插件分享】利用 fringe 显示滚动条和文档标记

下午 vibe 了一个小包:scrollview.el,虽然还没来得及 review,但是用起来还不错,先发出来分享一下。

项目地址:GitHub - roife/scrollview.el · GitHub

它能在 fringe 里显示一个滚动条,同时把搜索结果、诊断信息、VC diff hunk 等标记也放进来。灵感主要来自于 VS Code 和 Zed。

它能做什么

  • 在 left/right fringe 显示垂直滚动条
  • 内置一些 sign group:
    • search:当前 isearch lazy highlight 的匹配位置
    • diagnostics:Flymake 诊断,以及已加载的 Flycheck errors
    • conflicts:通过 smerge-mode 找 conflict markers
    • keywords:通过 hl-todo 找 TODO/HACK 等关键词
    • spell:ispell 中的拼写
    • vc:通过 diff-hl 显示 add/change/delete hunk
  • 提供 scrollview-next / scrollview-prev / scrollview-first / scrollview-last 在可见 sign 之间跳转

利用这个插件,可以节省掉很多 modeline 上的空间,比如 progress、flymake indicator 等。

感谢 GitHub - emacsorphanage/yascroll: Yet Another Scroll Bar Mode · GitHub ,大量参考了这个仓库的代码

7 个赞

windows doom emacs 如何配置使用呢?我按这个配置看不到 fringe, 当然我用这个之前也没用过 fringe…

可能终端里没有 fringe,我没有 windows 设备没办法测试诶。

应该是有效果的,可能因为太细或者配色的原因没看清。截图里那样的效果如何配置的?比如 fringe 宽度等等

如果TUI下也能显示就太棒了,是不是可以利用margin?

或许可以,我可以看看怎么做的

继续用 AI 糊了一个,似乎表现很好

1 个赞

你是在终端下使用的吗,默认不需要任何配置就可以的

(use-package scrollview
  :straight (:host github :repo "roife/scrollview.el" :branch "main")
  :hook (after-init . global-scrollview-mode))

你也可以切换成 margin 试试