在 Emacs 中,我正在编辑一些源代码,然后点击 <tab>。Emacs 将行缩进到 n 个空格。我想更改那种行的缩进量。我如何弄清楚 emacs 应用什么规则将该行缩进 n 个空格?
我想改变n,但我需要弄清楚Emacs刚刚使用了许多与缩进相关的变量中的哪一个。
通用的答案是困难的。有些模式会比其他模式更明显,但在一般情况下(因为他们可以随意实现缩进,但他们希望)我认为你不会摆脱需要阅读一些elisp。
从绑定开始TAB可以工作,但可能会稍微耗时,具体取决于涉及多少间接层。
如果您知道所讨论的主要模式实现了自己的缩进,那么您可以尝试帮助追踪被调用函数的一种(不严格但快速)方法是使用 ELP,即内置的 elisp 分析器。elp-instrument-package将检测名称与您指定的前缀字符串参数匹配的所有函数。因此,您可能会在 PHP 文件中执行以下操作(注意 php-mode 告诉您它是从 c-mode 派生的)
M-x elp-instrument-package RET php- RET
M-x elp-instrument-package RET c- RET
M-x elp-instrument-package RET indent RET
现在输入TAB您的源代码,然后运行M-x elp-results以查看调用了哪些已检测的函数。
在这一点上,您是靠自己的——寻找可能的嫌疑人,并查看代码在做什么——但这可能是过滤搜索的一种方便的方式。
完成后,使用M-x elp-restore-all防止任何进一步的分析。
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |