日本麻绳

2024-06-16 09:35:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用rope和yasnippet设置了对emacs的python支持,方法是遵循http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/#disqus_thread上给出的教程。 我声明了一个字符串变量a_str="Hello"。现在,当我输入一个str.并按tab键时,我在minibuffer中收到以下消息

Symbol's function definition is void: yas/snippet-table

我早些时候得到了一个下拉列表,但突然停止了工作。为什么会发生这种事?在

我也想知道这句话的意思

^{pr2}$

请帮忙 谢谢你


Tags: 方法incomhttpwwwcodethreadcompletion
1条回答
网友
1楼 · 发布于 2024-06-16 09:35:26
(setq yas/trigger-key (kbd "C-c <kp-multiply>"))

意味:生成由字符串C-c <kp-multiply>描述的密钥绑定的内部表示,并将该值赋给变量yas/trigger-key。在

<kp-multiply>通常是键盘上的*键。)

然后可以在键绑定中使用yas/trigger-key。e、 g.:

^{pr2}$

至于您的主要错误,要么是某些东西没有被正确加载(例如,yas/snippet-table确实存在于代码中,但在使用之前没有被加载),要么是yasnipet和另一个试图使用它的库之间存在不兼容(在本例中可能是自动完成)。在

我在你链接的评论帖子的底部看到,当时有人讨论过自动完成0.2比0.1的变化引起的类似错误。我还看到,教程作者链接到他的git存储库以获取自己的Emacs配置,并且仍然在那里使用0.1版的autocomplete。在

所以我建议先检查一下每个库的版本。本教程使用:

  • pymacs 0.23
  • yasnippet 0.5.9型
  • 自动完成0.1

Rope版本还不清楚,仅描述为“最新的开发版本(截至2008年12月)”

或者,您可能更喜欢直接从git存储库获取版本(尤其是当repo中的yasnipet版本说它是版本0.2.2,而不是0.5.9时)。在

如果你让它和那些东西一起工作,你就可以尝试升级一些东西(如果你想出了一个更新的工作组合,也许还可以在这个线程中添加一个注释,列出一组兼容的版本)。在

否则,下面是另一个可能有用的git存储库:

https://github.com/gabrielelanaro/emacs-for-python/

相关问题 更多 >