问题标签 [yasnippet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - 将现有的 YAsnippet 模式指向新的文件类型
我正在学习 Bottle 教程,而 HTML 的 YAsnippet 模式可以让我在制作 Bottle 模板文件 ( .tpl
) 时获得很大一部分生产力奖励。
有没有办法告诉 YAsnippet 在html-mode
打开扩展的文件类型时查看现有条目.tpl
?
emacs - 安装 YASnippet
我已经安装了 YASnippet 并使用它进行了配置:
但是,当我启动 Emacs 时,它给了我一个错误:
我究竟做错了什么?我试图找到答案,但没有成功。(我也尝试过另一个版本的 yasnippet yasnippet-0.6.1b 但它是一样的。)
emacs - 如何使 yasnippet 作为自动完成后端?
我想yasnippet
将auto-complete
. 但是,它不起作用。我在网上搜索后的操作如下:获取auto-complete-yasnippet.el,添加一些 elisp.emacs
如下:
我用 . 查看ac-sources
*scratch* 中的内容C-h v,它确实有ac-source-yasnippet
. 有人说可能是auto-complete
as的版本和升级有问题yasnippet
。如何修复?我的emacs
版本是 23.3.1 我的auto-complete
版本是 1.3.1 我的yasnippet
版本是 0.8.0(beta) 是刚刚从github下载的。有什么帮助吗?
emacs - Yasnippet 中的 ido 保存新片段
我想保存一个新的片段。Emacs24 向我询问文件名,但 ido 在 minibuffer 中不起作用。这是一个已知的错误,还是我的配置中的错误。
如何重现:
菜单:YSSnippet/新片段
我创建了一个小片段
现在我想保存它并按C-x C-s
minibuffer 说
File to save in: /tmp/
我希望ido
这个 minibuffer 中的功能应该看起来像
但它不起作用。我的配置在github上
emacs - yasnippet 和反斜杠
我已经在 emacs 24 上安装了 elpa 的 yasnippet 0.8,我想编写一个片段,将此文本插入 LaTeX 文档(使用 AUCTeX):
所以我有这个片段:
但是当我键入时para<TAB>
,所发生的只是文本para
被删除。我究竟做错了什么?
emacs - 如何以编程方式在片段中包含 yasnippet 片段
我正在寻找一种方法来编写一个片段,让我包含另一个片段。以下是 Python 函数的片段示例:
在示例中,我想先在字段#1 中将一些内容写入python 函数,然后按TAB。点击 TAB 应该把我带到 lisp 位,我可以选择扩展名为“not_implemented_exception”的片段。
我尝试阅读源代码,但对 lisp 很陌生,所以我没有发现任何用处。
ruby-on-rails - 带有 yasnippets 的 emacs 智能标签
我正在尝试在所有打开的缓冲区和 yasnippet 中完成制表符以使用制表符键。目前我可以有一个或另一个。以下代码是我处理 yasnippet 扩展的方式,但由于我不是 lisp 程序员,我在这里看不到错误。
如果它无法扩展片段,我希望它尝试从缓冲区扩展。
emacs - 正确处理失败的片段完成
我使用 TAB 从 yasnippet 扩展片段,当它不扩展片段时,它通常会退回到缩进(绑定到 TAB 的默认命令),这由 yasnippets 自定义变量引用,yas-fallback-behavior
它只能是call-other-command
or return-nil
。
我想要的功能是在点击 TAB 时:
- 尝试完成片段、成功或静默失败。
- 检查我们是否处于 PHP 模式,并
php-complete-function
静默调用、成功或失败。 - 默认为其当前的缩进命令 (
indent-for-tab-command
)。
它目前完美地执行 1,然后是 3。yas--fallback
但是,通过使用这段代码提供建议,我能够使其大部分工作:
剩下的唯一主要问题是,当尝试使用 TAB 缩进任何内容时,php-complete-function
不会静默失败,而是会向 minibuffer 发送垃圾邮件,其中包含来自 PHP 完成的多次检查的消息。
那么有没有办法在这种情况下禁止来自该函数的消息传递,而无需进行所有相同的检查,它实际上是在我的建议中重新编程该函数?或者,有没有更好的方法来使用 yasnippet 来开始我所缺少的?
emacs - 取消设置 yasnippet 的“Tab”绑定?
Tabyasnippet 的键绑定通常会覆盖其他有用的键。
有没有办法禁用TabYasnippet 的绑定以启用其他Tab用途?
regex - 正则表达式作为触发器
工作中的代码约定之一是在方括号和圆括号内包含一个空格的填充。所以list[ index ]
,不是list[index]
。添加这些空格可能很烦人,所以我尝试编写一个片段:
这适用于左方括号前面有空格或行首的情况,但不适用于前面有标识符的情况。我认为这样做的一种方法是让触发器成为正则表达式:
或类似的东西。这甚至可能吗?还是有其他聪明的方法来完成这项工作?我正在为 python 写这个,但我认为这不重要。
谢谢!