这几天参考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-buffer- maple-imenu buffer name, default - *maple-imenu*
- maple-imenu-displayed-buffer- displayed buffer name, default - nil
- maple-imenu-overlays- save overlay info, toggle open or close entry 
- maple-imenu-width- maple-imenu window size, default - 25
- maple-imenu-padding- maple-imenu prefix padding, default - 2
- maple-imenu-position- maple-imenu window display position, default - 'right, or- 'left
- maple-imenu-arrow- open or close arrow, default - ("▾" . "▸")
- maple-imenu-auto-update- auto update when - t, after save every time
 
- 相比较imenu-list
➊ 代码和逻辑我认为与 imenu-list 比起来更加通俗易懂 ➋ window fixed, 至少与golden-ratio搭配不那么难受 ➌ 更多我可以控制和自定义的地方 


