问题标签 [imenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
170 浏览

emacs - 从键调用 Imenu

目前 emacs 有一些有用imenu的东西可以让我看到当前缓冲区中的函数列表。为此,我需要键入M-x,然后键入imenu,然后按return键,然后它将在 minibuffer“索引项:”中显示提示,我需要键入func,然后它会显示另一个 minibuffer 提示,并自动完成当前缓冲区中的所有功能。这是非常好的和有用的,但现在我想减少打字量并以某种方式宏化序列的第一部分。我尝试了这种方法:

另一个尝试:

但是没有一个有效,还有另一种可能吗?

0 投票
1 回答
417 浏览

emacs - 标签的Emacs org-mode imenu?

我是 org 模式的新手(不是 emacs),我想在单击标签时更改 Org 的行为。默认情况下,如果单击标签,则会出现议程缓冲区。我不使用(也不喜欢)它,所以我想改变这种行为:我想要一个 imenu,如果我点击一个标签,它会显示所有带有这个标签的标题,所以我可以直接跳转到相关标题。

这就是它在 Tiddlywiki 中的样子:在 tiddlywiki中按标签导航

我最近从 tiddlywiki 迁移到 org-mode,我已经完全习惯了。因此,如果有人可以帮助我,那就太好了。

最好的问候,汤姆

0 投票
1 回答
669 浏览

emacs - 如何在速度栏中显示imenu内容

我想在 Emacs Speedbar 中显示 imenu 内容。最好作为平面列表(如 with imenus)(不是树状结构)。在 speedbar - 显示菜单中,我只有以下选项:

  • 文件
  • 快速缓冲器
  • 缓冲器
  • 信息
  • 依约
  • 分析(仅在调用后semantic-speedbar-analysis
0 投票
1 回答
133 浏览

emacs - 将 Imenu 重命名为大纲

我们如何将 Emacs 的“Imenu”重命名为“Outline”?

目标不是破坏任何其他依赖于 Imenu 的东西,例如 helm-imenu 或 helm-semantic-or-imenu。

0 投票
1 回答
89 浏览

emacs - 如何在 Emacs 抽象函数中传递 arg

我尝试编写一个函数来抽象helm-imenu要使用的变体:

但是,当在非 Org 模式缓冲区中使用它时,它会失败,说它需要一个参数。

确实,helm-semantic-or-imenu需要arg.

我应该如何通过?

为什么要使用 a M-x helm-semantic-or-imenu: 论点在哪里?

0 投票
1 回答
104 浏览

emacs - Emacs Imenu-list-minor-mode 除了在 Lisp 缓冲区上不起作用

此错误发生在每个缓冲区中(Lisp 缓冲区除外)

每当我应用 Imenu-list-minor-mode 时。

0 投票
1 回答
493 浏览

python-3.x - 如何使用 helm-semantic-or-imenu 进行带有类型注释的 python 代码的代码导航

我想使用 helm-semantic-or-imenu 命令来导航带注释的 Python 代码类型的组件,但是无论用于识别组件的代码分析器似乎都无法识别带注释的 Python 代码类型。带有返回类型注释的函数根本无法被识别,带有注释参数的函数在签名中显示类型而不是参数名称看截图

我遇到的主要问题是我没有正确理解参与这项工作的组件(当它工作时)。显然,以某种方式更新代码分析器可能会有所帮助,但我在哪个项目中找到了呢?舵?语义?菜单?或者正如有人在其他地方提到的关于代码分析 python.el 的那样?我真的可以使用一些帮助开始解决这个问题。如果在 python.el 中找到代码分析器,我可以尝试修改并使 emacs 优先使用本地版本而不是安装的版本吗?

编辑:在发表最初的帖子后,我终于在试图弄清楚组件的来源方面取得了突破。我在所有文件系统系统中搜索了 python*.el 并发现了这些:

./usr/share/emacs/26.2/lisp/cedet/semantic/wisent/python.elc ./usr/share/emacs/26.2/lisp/cedet/semantic/wisent/python-wy.elc

我找到了 emacs 26.2 的源代码,发现确实似乎 python-el 负责解析 python 文件的语义。它还在内部使用 python-wy 来识别大部分语言组件。但不幸的是,那是我碰壁的地方。我希望能够对通过 re 或其他东西识别函数定义的函数进行修补,但语义实际上以正确的方式解决了问题。因此,python-wy 似乎是从正式的语法定义文件(在 emacs git admin/grammars/python.wy 中)自动生成的,不幸的是,弄清楚如何修改远远超出了我的能力。

0 投票
0 回答
36 浏览

perl - 如何对 IMenu 的 Perl 包文档或最终文档的内联 POD 条目进行排序

我在cperl-mode+中使用 Emacs 27 进行开发PDE

我正在整合我的 Perl 包并尝试在方法/子标题上方添加内联文档条目。我使用inline POD schema,因为我同时拥有快速导航和通过Imenu-Tree.

通常方法/子在源代码中不是按字母顺序排列的。所以条目Imenu-Tree按照定义的顺序出现,它们按照源代码的进化顺序出现。现在我想按字母顺序排列,以便更快地找到/导航到方法/子。我知道如何在命令或链接到源代码行 ( grep -n) 的 shell 上生成这样的列表,但不知道如何在方向上采用此列表POD-ToolsEmacs + Imenu + PDE嵌入结果。

问题:

是否有POD特定的工具或Imenu插件或设置可以像在命令行中那样按字母顺序对问题进行排序?

POD 代码的传真