【发布时间】:2018-05-25 13:23:48
【问题描述】:
我正在尝试在 sublime 文本中创建一个 sn-p,当我按下 ctrl+shift+[ 时,它会插入 sn-p \{\},但我无法弄清楚如何使用转义字符来做到这一点。
这是我所拥有的:
{
"keys": ["ctrl+shift+["],
"command": "insert_snippet",
"args": {
"contents": "\\{\\}"
}
}
但是当我使用键盘快捷键时,它只插入{} 而没有反斜杠!这很奇怪,因为当我将其更改为 "\\" 时,输出为 \,但是当两个反斜杠之后出现某些内容时,它会忽略反斜杠。
我发现了一种使用 ChainOfCommand 包的解决方法,该包分别插入每个字符,如下所示:
{
"keys": ["ctrl+shift+["],
"command": "chain",
"args": {
"commands": [
["insert_snippet", {"contents": "\\"}],
["insert_snippet", {"contents": "{"}],
["insert_snippet", {"contents": "\\"}],
["insert_snippet", {"contents": "}"}]
]
}
}
但问题在于,如果我随后执行 ctrl-z 撤消操作,它将一次删除每个字符,而不是删除整个 sn-p,这很烦人。还有,这只是事情的原理,我相信我应该可以在一个sn-p中完成!
有谁知道我怎样才能让它工作?
【问题讨论】:
-
如果您不想插入 sn-p(即不要使用 $1、$2、...),您也可以使用
insert和“普通”json 转义:@987654328 @ -
啊酷,很高兴知道!非常感谢
标签: sublimetext3 key-bindings code-snippets