gpt4 book ai didi

python - Emacs 中的 Rope 和 Yasnippet

转载 作者:行者123 更新时间:2023-11-30 23:44:35 24 4
gpt4 key购买 nike

我按照http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/#disqus_thread中给出的教程使用rope和yasnippet设置对emacs的python支持。我声明了一个字符串变量a_str="Hello"。现在当我输入 a_str.然后按 Tab,我在迷你缓冲区中收到以下消息

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

我早些时候得到了一个下拉菜单,但突然它停止工作了。有什么原因会发生这种情况吗?

另外,我想知道这句话的含义

(setq yas/trigger-key (kbd "C-c <kp-multiply>"))

请帮忙谢谢您

最佳答案

(setq yas/trigger-key (kbd "C-c <kp-multiply>"))

表示:生成字符串 C-c <kp-multiply> 描述的按键绑定(bind)的内部表示形式,并将该值赋给变量 yas/trigger-key .

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

您随后可以使用yas/trigger-key在键绑定(bind)中。例如:

(local-set-key yas/trigger-key 'some-function)

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

我在您链接到的评论线程的底部看到,当时有关于自动完成 0.2 相对于 0.1 的更改引起的类似错误的讨论。我还看到教程作者链接到他自己的 Emacs 配置的 git 存储库,并且仍然在那里使用 0.1 版的自动完成功能。

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

  • pymacs 0.23
  • 亚斯尼佩0.5.9
  • 自动完成0.1

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

或者,您可能更喜欢直接从该 git 存储库获取版本(特别是存储库中的 yasnippet 版本表明它是版本 0.2.2,而不是 0.5.9)。

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

如果做不到这一点,这里是另一个可能有用的 git 存储库:

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

关于python - Emacs 中的 Rope 和 Yasnippet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com