我试图在Emacs Lisp源代码中将Emacs位置定义放在缓冲区的顶行,而不是在中心线上,从帮助缓冲区查找它们。
我的意思是:在通过`describe-function'查找函数后,你得到一个帮助缓冲区,如果在Emacs Lisp源文件中定义了这样的函数,你可以选择在这样的文件上按RET命名并被用于该函数的定义。但是,这样的定义将定位在屏幕的中心线上,而我希望它定位在顶行,以查看更多的实现。
我试着查看我可以提供的功能。 describe-mode' for Help said RET was bound to
帮助跟随'我准备建议这样的功能,但看看它的定义,我认为它只是一个占位符:
(defun help-follow ()
"Follow cross-reference at point.
For the cross-reference format, see `help-make-xrefs'."
(interactive)
(error "No cross-reference here"))
有任何帮助吗?我正在使用Viper + Vimpulse,我不知道这是否会改变任何内容。
谢谢。
答案 0 :(得分:1)
我觉得相关功能是help-button-action
(它调用help-do-xref
),因此您可能希望advise that在找到外部参照后设置所需的点。
答案 1 :(得分:1)
您可能希望使用find-function
转到该函数的源代码。
它使用变量find-function-recenter-line
,它是开始显示函数定义的行号。默认情况下,它的值为1,这应该是您所需要的。
函数的描述是声明后的注释,所以你真的不需要describe-function
。
答案 2 :(得分:0)
FWIW我使用这两个来快速跳转到函数/变量的源代码( C-h C-f , C-h C-v )
(define-key help-map (kbd "C-f") 'find-function-at-point)
(define-key help-map (kbd "C-v") 'find-variable-at-point)