[已解决]Emacs可有类似vim中 taglist的插件?

试了下sr-speedbar,不支持lua文件。

Emacs 内置有 (emacs) Imenu,默认能从 Minibuffer 和菜单(下图)中控制,要用一个单独的 buffer 操作的话,应该有第三方插件支持,应该能用 C-h P 里透过关键词 imenu 搜到。imenu 支持某种语言一般由对应 Major Mode 的作者决定,而不是 imenu 自身。

下载这个回答 How to display imenu content in speedbar 下的 sb-imenu.el 文件和安装 sr-speedbar 包,然后配置 (setq speedbar-initial-expansion-list-name "sb-imenu") ,执行 sr-speedbar-toggle 就如下图了

但奇怪的是在打开elisp文件点击taglist时会报错 sb-imenu-go: Wrong type argument: integer-or-marker-p, #<overlay ,然而lua-mode时一切正常,得修改 sb-imenu.el 文件中第108行为 (goto-char (overlay-start node))) ,至于其它没接触的语言不知道能否较好支持,但可以参考配置好的增强js2-mode中imenu跳转功能的 javascript-common-imenu-regex-list 写法,可以识别更多自定义TAG。

链接:

1 个赞

我用了e2wm,还可以~