gpt4 book ai didi

emacs - 停用 Emacs 中的特定 yasnippets

转载 作者:行者123 更新时间:2023-12-03 18:38:33 25 4
gpt4 key购买 nike

随着 Yasnippet 最近从 MELPA 更新,我希望能够只停用片段 xxxtodo带有文本模式的。第一个扩展为 x另一个是 t ,这让我很困扰,因为我在 org 模式下写数学课文,我需要写几个 x的和 t ,然后按 TAB退出括号。
来自 yas-buffer-local-condition ,如果有#condition:,我似乎可以做点什么片段中的指令,但提到的片段没有。
如果我只是删除文件,我会按自己的方式行事,但不幸的是,它们会在 Yasnippet 的每次更新时重新出现。

最佳答案

一种可能的解决方案是通过向每个片段添加一行代码来使用键绑定(bind)来控制片段——例如,# binding: C-I a b c# binding: C-I d e f组合C-I相当于 tab 键,后面字母之间的空格表示它们是一次单独按下的。此外,还可以修改以下代码行以反射(reflect)不同的键:# key: a_b_c# key: d_e_f .
变量 yas-snippet-dirs可用于控制片段的位置。将片段移动到不同的位置可能是个好主意,这样它们就不会被 future 的更新所触及(例如,el-get)。
xxx片段看起来像这样:
原来的

# -*- mode: snippet -*-
# name: xxx
# key: x
# --
`(yas-with-comment "XXX: ")`
修改的
# -*- mode: snippet -*-
# name: xxx
# key: a_b_c
# binding: C-I a b c
# --
`(yas-with-comment "XXX: ")`
todo片段看起来像这样:
原来的
# -*- mode: snippet -*-
# name: todo
# key: t
# --
`(yas-with-comment "TODO: ")`
修改的
# -*- mode: snippet -*-
# name: todo
# key: d_e_f
# binding: C-I d e f
# --
`(yas-with-comment "TODO: ")`

对于那些好奇的人,功​​能 yas-with-comment看起来 like this
(defun yas-with-comment (str)
(format "%s%s%s" comment-start str comment-end))

关于emacs - 停用 Emacs 中的特定 yasnippets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239037/

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