问题标签 [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 中报价 1 美元
假设,我有以下 yasnippet:
$1
这是正则表达式的第一个匹配项。不是 yasnippet 特殊符号。我怎样才能引用它,所以它按原样插入到代码中?
emacs - Emacs:如何摆脱 perl 模式 yasnippet 中不需要的选项卡
我在 perl 模式中有以下 yasnippet 来创建子:
但是当 Emacs 展开它时,它会生成一个不需要的选项卡:
我在片段定义中没有这个选项卡,所以它似乎是由 cperl-mode 添加的(perl-mode yasnippets 在 cperl-mode 中激活)。如何摆脱它?
emacs - 如何在 html 文件中扩展 yasnippet 片段
我有一个创建空 html 文件的 lisp 脚本:
然后我使用 yasnippet 生成基本的 html 文件:我有一个名为“base”的片段(我按 TAB 键将其展开)
有没有办法在我的 lisp 脚本中使用这个片段?
我尝试了,但没有成功使用(yas/expand-snippet base)
谢谢。
古尔文。
编辑
使用 abo-abo 的代码,我得到了一些效果很好的东西:
我只需要使用 Mx cd 将当前目录设置到正确的位置。可能有一个更有效的解决方案,无需在缓冲区中打开文件。但是这个已经很酷了。谢谢 abo-abo
emacs - 从菜单栏中删除 Yasnippet
如何从 Emacs 菜单栏中删除 YASnippet 类别?
emacs - 如何选择带有前导 \$ 的区域,并用 yasnippet 将其包围
任何人都可以建议一种方法来包围包含前导的区域\$
并用片段包围它。在latex-mode
中,我经常在应付款项下划线或双下划线,并且使用的 yasnippet 删除了反斜杠。我希望能够在所有情况下使用相同的代码段——有或没有前导\$
.
c++ - 如何将 Emacs 24 配置为 K&R(或 Stroutrup)样式?
我想要这样的代码。
for (;;) {
}
但是 YASnippet 总是输出这个。
有没有办法改变 C++ 风格?
这是我的 .emacs 文件。
(setq c-default-style "stroustrup")
(add-to-list 'load-path
"~/emacs/yasnippet/")
(require 'yasnippet)
(yas-global-mode 1)
elisp - 目录中的 yas-choose-value 文件
我正在尝试使用默认值作为目录中的文件进行剪辑,但失败了。似乎在 yas-choose-value 中调用 elisp-code 需要特殊处理?
我知道你可以硬编码它。就像是
但我想调用“目录文件”,它应该返回列表(“foo”“bar”)。所以,像:
但是我这样做会遇到各种各样的错误。最经常:
我哪里错了?
emacs - 在替换区域中键入字母“t”时,YASnippet 失败
创建了以下 YASnippet(在 Org 模式下自动创建标题):
在大多数情况下一切都是正确的,除非我在标题中输入“t”字符......
它适用于其他字母,而不是那个。找不到原因。任何想法?
emacs - yasnippet 离场条件转换
我正在编写一个片段(用于 Go),并且希望在移动到下一个字段时有条件地转换一个字段。具体来说,如果我不对其进行编辑,我希望该字段为空,如果我不对其进行编辑,则将其括在括号中。
我不成功的片段,表达了我想要的但未能转换已编辑的字段:
我想要的是,t Type
在该字段中输入时,该片段将扩展为:
当跳过未经编辑的字段时,它会像这样扩展:
我知道条件按预期执行,因为如果我更改(concat ...)
为(message "XXX")
,我会看到打印在迷你缓冲区中的跟踪,但我无法弄清楚为什么我的转换不起作用。
emacs - 如何使用 yasnippet 和 abbrev 进行自动完成工作?
我希望 Emacs 像这样工作:
让
/li>auto-complete
自动弹出菜单:使用C-n/p/M-n/p选择
/li>auto-complete
弹出菜单候选:选择候选人时
禁用TAB/S-TAB在弹出菜单选择中:
/li>按Enter选择候选,不插入换行符:
/li>如果候选人是abbrev,Enter应该只选择候选人:
... 并按下Space应该会导致 Emacs 自动扩展缩写。
如果候选人是dabbrev,按下M-\候选人应该触发
dabbrev-expand
。按TAB/C-i展开候选
yasnippet
:我设置了这个,但是当我按下时触发器没有展开TAB。
TAB在字段中按下以展开片段触发器:
/li>按C-j跳到下一个字段:
/li>
一些解释
TABEmacs中有两个:
(kbd "TAB")
/(\t, [9])
(kbd "<tab>")
/([tab])
如果模式喜欢yasnippet
并且auto-complete
想要绑定到TAB,它们的触发键必须与原始的 tab 命令相同。由于 Emacs 绑定indent-for-tab-command
到(kbd "TAB")
,因此最好使用它作为触发键。yasnippet
默认情况下绑定到它,并且很容易设置auto-complete
为触发使用TAB:
但在某些模式下(ruby-mode
、markdown-mode
、org-mode
等),该命令绑定到
(kbd "<tab>")
. 当真正的 tab 键被键入时,绑定到的函数(kbd "<tab>)
具有更高的优先级,所以yasnippet
和auto-complete
不会被调用。这很容易通过移动键绑定来解决:
我的设置
我通过打包管理器yasnippet
下载了 。我正在使用 Ubuntu 12.04 和 Emacs 24.3.50.1。auto-complete
el-get
包起来
我知道这个问题有点长,但它确实让我很难使用auto-complete
和yasnippet
. 如果基本键绑定不能顺利进行,这会大大减慢我的工作流程。我想很多人都有类似的问题,因为我在互联网上发现了一些类似的问题(尽管没有一个与我的完全一样)。
正如你在上面看到的,一些我已经知道的相关设置。(但如果您认为我在某处犯了错误,请告诉我。)还有一些我仍然不知道如何设置的东西(???
)。也许没有办法让所有这些设置一起工作?让我知道是否是这种情况,否则请确保这些设置都不会相互干扰。
在我得到这个问题的答案后,我希望编写一个 Emacs 扩展来自动初始化所有这些设置。
谢谢你的帮助!