Documentation 用于公共lisp的Man或javadoc样式的文档

Documentation 用于公共lisp的Man或javadoc样式的文档,documentation,lisp,javadoc,slime,manpage,Documentation,Lisp,Javadoc,Slime,Manpage,有没有像javadoc、man甚至像弹出窗口这样的智能感知这样的常见lisp文档?我刚开始学习CommonLisp,手的记忆力不够 我使用的是emacs和slime,它有制表符补全功能,但似乎信息量不大 谢谢 查看基于包的文档。请记住,CommonLisp是作为一个动态系统使用的,它将可选的docstring槽合并到它拥有的每个声明原语中。好的,获取给定函数文档的标准方法是在repl处运行(description#'function-name-here)(如果您正在寻找关于符号的文档,则不使用。

有没有像javadoc、man甚至像弹出窗口这样的智能感知这样的常见lisp文档?我刚开始学习CommonLisp,手的记忆力不够

我使用的是emacs和slime,它有制表符补全功能,但似乎信息量不大

谢谢

查看基于包的文档。请记住,CommonLisp是作为一个动态系统使用的,它将可选的docstring槽合并到它拥有的每个声明原语中。好的,获取给定函数文档的标准方法是在repl处运行
(description#'function-name-here)
(如果您正在寻找关于符号的文档,则不使用

这将使您能够访问docstring和参数列表(对于方法,您可以获得泛型函数文档以及每个特定方法的编译)


查看,并可能完成。

以防这个问题的目的是询问参考文献在哪里-网上有几个Hyperspec可用。如果你在谷歌上搜索“hyperspec函数名”之类的东西,很有可能你会找到其中一个

比如说

根据编辑器的不同,您通常可以将其配置为显示hyperspec内容。使用Emacs中的SLIME,您可以执行
M-x SLIME hyperspec查找RET符号来查找

另一个方便的工具是
apropos
-通过运行
(apropos“符号名称中的子字符串”)
您将获得与“符号名称中的子字符串”匹配的所有符号的列表

粘液本身具有良好的自动完成功能。可能会让您感到困惑的是,默认键可能绑定到您的系统没有分派给Emacs的某个对象(如M-TAB),以便将其重新绑定到您可以执行的其他操作(在.Emacs文件中):

此外,Emacs本身提供了“词法”补全功能——如果您点击M-/这将尝试将单词补全为具有相同后缀的单词——它工作得出奇地好,特别是如果您必须键入长变量/函数名:)

此外,SLIME将C-C-d f绑定到点的
SLIME描述函数,将C-C-d绑定到点
SLIME描述符号,将C-C-v d绑定到点
SLIME描述表示


此外。。。经过一段时间后,我发现了一些事情。。。如果在包含错误堆栈跟踪的缓冲区中按RET键,指向堆栈条目,它将在该堆栈级别显示函数中局部变量的值。当点位于这些变量中的任何一个上时,如果按RET键,它将打开一个描述该变量的缓冲区。

Emacs中的c-h m描述SLIM模式。将其用于repl或代码缓冲区。它将向您显示所有命令。搜索文档和周围的命令。如果你有一个基于GUI的Emacs,那么它有一些菜单项,每个堆栈项所在的代码行也在该缓冲区中。我发现,结合git grep,我可以很好地浏览lisp发行版的src代码。
(define-key lisp-mode-map (kbd "C-x .")
  'slime-complete-symbol)
(define-key lisp-mode-map (kbd "C-x /")
  'slime-complete-form)
(define-key lisp-mode-map (kbd "C-x ,")
  'slime-fuzzy-complete-symbol)