这几天参考imenu-list重写了一个类似 vim 中tagbar的插件 maple-imenu, 其实之前我一直在使用另一个类似的插件—— imenu-list, 虽然imenu-list已经足够使用了, 但它和golden-ratio搭配起来很难受, golden-ratio 我是常开的, 但imenu-list也会偶尔使用(浏览及讲解代码必备,否则查找某个函数和变量时很难受的)
原本我想要自定义一下imenu-list,但看了源码之后, 发现很多地方都不符合我的需求, 而且需要改动的地方越来越多,最后不如自己重写
-
如何使用 下载文件复制到
$HOME/.emacs.d/site-lisp/maple-imenu目录, 然后(use-package maple-imenu :load-path "site-lisp/maple-imenu" :commands (maple-imenu) :config (with-eval-after-load 'evil (evil-make-overriding-map maple-imenu-mode-map 'normal)))
M-x maple-imenu
-
相关变量
-
maple-imenu-buffermaple-imenu buffer name, default*maple-imenu* -
maple-imenu-displayed-bufferdisplayed buffer name, defaultnil -
maple-imenu-overlayssave overlay info, toggle open or close entry -
maple-imenu-widthmaple-imenu window size, default25 -
maple-imenu-paddingmaple-imenu prefix padding, default2 -
maple-imenu-positionmaple-imenu window display position, default'right, or'left -
maple-imenu-arrowopen or close arrow, default("▾" . "▸") -
maple-imenu-auto-updateauto update whent, after save every time
-
-
相比较imenu-list ➊ 代码和逻辑我认为与 imenu-list 比起来更加通俗易懂
➋ window fixed, 至少与golden-ratio搭配不那么难受
➌ 更多我可以控制和自定义的地方
知识共享署名-非商业性使用-相同方式共享4.0国际许可协议