2

当我这样做时describe-function info,文档说:Called from a program, FILE-OR-NODE may specify an Info node of the form "(FILENAME)NODENAME".

我使用这种语法打开 Emacs 手册中的特定部分,例如eval-expression (info "(emacs)mark").

但现在我有三个问题:

  • 如何找出某个信息文件的文件名?(例如:Emacs Lisp Intro 的“elisp”)
  • 怎么查到段名?(例如:“11 The Mark and the Region”的“mark”)
  • 是否可以在调用之前列出信息文件及其部分eval-expression
  • 可选:是否可以在不运行信息模式的情况下完成上述所有操作?

为了澄清,我的问题源于节点名称(例如:“Shell”)和相应部分的标题(例如:“36 Running Shell Commands from Emacs”)不同。

4

1 回答 1

12
  • 如何找出某个信息文件的文件名?(例如:Emacs Lisp Intro 的“elisp”)

C-hm*info*缓冲区中将告诉您该c键将Put name of current Info node in the kill ring(以及在回显区域中显示它)。从那里你可以C-y像往常一样拉它。

括号中的节点名称部分文件的名称(减去其后缀和目录路径)。

要获取包含其目录路径的文件名(但仍减去任何后缀),您可以调用(Info-find-file "file")相关文件(在您的示例中为“emacs”)。

请注意,文件的后缀(如果有)可以是Info-suffix-list变量中的任何内容。

实际上,您也可以info将完整的文件路径作为参数传递给函数。这通常不太有用,但如果您设法最终得到冲突的信息文件,可能会很方便。以交互方式,C-uC-hi将提示您输入完整的文件名。

(要以交互方式输入节点名称,您可以使用C-hig。)

  • 怎么查到段名?(例如:“11 The Mark and the Region”的“mark”)

这与第一个问题基本相同,只是它是您想要的括号后面的节点名称部分。再次,只是c用来找出。

  • 是否可以在使用 eval-expression 调用之前列出信息文件及其部分?

我不完全确定你的意思,但也许这些有帮助?

  • d将跳转到主目录(就像C-hi你最初那样)。这是从变量dir目录中找到的所有文件生成的。Info-directory-list每个dir文件都包含每个文件的路径,但您不太可能需要查看这些路径。

  • <t带您到文件的顶级节点,该节点通常显示文件的顶级内容。

  • T打开当前文件的全合一页目录。

  • I为您提供与当前文件匹配的模式的索引条目。

  • C-s可以搜索当前文件的所有节点(只需在每次点击当前节点的末尾再次键入它即可开始下一个搜索)。

  • M-x info-apropos可用于搜索所有信息文件。

显然,一旦您通过任何方法到达特定节点,您就可以使用c它来找出它的名称。

同样如前所述,一旦您进入*info*缓冲区,您可以使用相同的语法键入g以转到任何信息文件中的任何节点。如果您已经在该文件中,则(file) node可以省略,或者省略以到达指定文件的顶部节点。您可能更喜欢也可能不喜欢使用(file)node
M-: (info "(file) node") RET

作为一种特殊情况,g*RET将整个当前信息文件呈现在单个缓冲区中。

关于一般主题的其他有用问答:

还:

而且当然:

  • M-: (info "(info) Top") RET
  • C-hih
  • C-hi?
于 2012-04-26T11:08:07.310 回答