Emacs 为什么可以';加载定义函数的文件后,我是否调用该函数?
我正在尝试为VHDL代码定制Emacs,其中一个重要部分是高效的代码完成。我对Emacs没有太多的经验,但直到现在我能够毫无问题地定义快捷方式和函数。经过快速搜索,我找到了它,并想尝试一下 所以我下载了这个文件,它是一个包含所有代码的单一Elisp文件。我尝试了许多与我以前的定制很好配合的东西:Emacs 为什么可以';加载定义函数的文件后,我是否调用该函数?,emacs,Emacs,我正在尝试为VHDL代码定制Emacs,其中一个重要部分是高效的代码完成。我对Emacs没有太多的经验,但直到现在我能够毫无问题地定义快捷方式和函数。经过快速搜索,我找到了它,并想尝试一下 所以我下载了这个文件,它是一个包含所有代码的单一Elisp文件。我尝试了许多与我以前的定制很好配合的东西: load从init.el文件、文件上的M-x eval buffer加载文件,等等 尽管我做了很多努力,但我无法调用文件中定义的函数,而且它们甚至不能在迷你缓冲区中使用completion来显示。奇怪的
load
从init.el
文件、文件上的M-x eval buffer
加载文件,等等
尽管我做了很多努力,但我无法调用文件中定义的函数,而且它们甚至不能在迷你缓冲区中使用completion来显示。奇怪的是,当我M-x描述函数时(在没有完成的情况下键入函数名),会出现一个文档缓冲区,因此Emacs肯定知道这些函数
我的问题的一个具体例子是:当我M-x vhdl capf main
时,除了回声区域中的声音[不匹配]
外,什么都不会发生
所以我迷路了,这是一个可怕的头痛。此文件与我的其他配置文件似乎没有什么不同,但它不起作用…这些不是交互式函数,因此不能使用M-x
调用它们。交互函数是以(Interactive)
规范作为其主体中的第一种形式定义的。尝试M-:
(vhdl capf启用)
并重新加载vhdl缓冲区(您可以将其添加到钩子中)@jenesaisquoi oh。。。真不敢相信我花了这么多时间在这上面。。。显然,我没有正确理解interactive
。我尝试了M-:(vhdl capf enable)
并且vhdl capf main
已添加到完成点函数
变量中,但完成不起作用,出现以下消息:符号的函数定义无效:first
。你能帮我吗?非常感谢您的帮助这不是我使用过的软件包,但是first
在cl.el
中是一个不推荐使用的函数(只是car
的别名)。那么,假设您给了M-:
(require'cl)
一个快照。您是否按照回购页面上的说明安装并配置了compnay模式或其他一些完成框架?vahl capf不是一个完成解决方案,它是一个支持模糊完成(如公司模式或自动完成)的完成框架的附加后端。@TimX不,我没有,我以为它是独立的。我会检查自动完成。我没有对它进行广泛的测试,但它似乎在没有安装auto complete或类似功能的情况下工作。这些功能不是交互式功能,因此不能使用M-x
调用它们。交互函数是以(Interactive)
规范作为其主体中的第一种形式定义的。尝试M-:
(vhdl capf启用)
并重新加载vhdl缓冲区(您可以将其添加到钩子中)@jenesaisquoi oh。。。真不敢相信我花了这么多时间在这上面。。。显然,我没有正确理解interactive
。我尝试了M-:(vhdl capf enable)
并且vhdl capf main
已添加到完成点函数
变量中,但完成不起作用,出现以下消息:符号的函数定义无效:first
。你能帮我吗?非常感谢您的帮助这不是我使用过的软件包,但是first
在cl.el
中是一个不推荐使用的函数(只是car
的别名)。那么,假设您给了M-:
(require'cl)
一个快照。您是否按照回购页面上的说明安装并配置了compnay模式或其他一些完成框架?vahl capf不是一个完成解决方案,它是一个支持模糊完成(如公司模式或自动完成)的完成框架的附加后端。@TimX不,我没有,我以为它是独立的。我会检查自动完成。我没有对它进行广泛的测试,但它似乎在没有安装auto complete或类似产品的情况下工作。