Sublime Text和Clojure:不要配对单引号

前端之家收集整理的这篇文章主要介绍了Sublime Text和Clojure:不要配对单引号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法获得语法类型来定义键盘快捷键,还是设置键盘快捷方式取决于语法类型(可能在“上下文”)设置下?

我的引用列表(1 2 3)输入如下:'(1 2 3)’,因为Sublime应用这个有用的(但不是在这种情况下)行为.

这是Default(OSX).sublime-keymap文件的相关位

// Auto-pair single quotes
{ "keys": ["'"],"command": "insert_snippet","args": {"contents": "'$0'"},"context":
    [
        { "key": "setting.auto_match_enabled","operator": "equal","operand": true },{ "key": "selection_empty","operand": true,"match_all": true },{ "key": "following_text","operator": "regex_contains","operand": "^(?:\t| |\\)|]|\\}|>|$)",{ "key": "preceding_text","operator": "not_regex_contains","operand": "['a-zA-Z0-9_]$",{ "key": "eol_selector","operator": "not_equal","operand": "string.quoted.single","match_all": true }
    ]
},{ "keys": ["'"],"args": {"contents": "'${0:$SELECTION}'"},"operand": false,"command": "move","args": {"by": "characters","forward": true},"operand": "^'",

解决方法

你应该能够,虽然这是一种痛苦.首先,你必须禁用内置的自动配对(不用担心,当我们完成后,自动配对一切都应该工作).为此,请在用户设置中设置以下内容.
"auto_match_enabled": false

然后将以下内容添加到您的设置中.

"my_auto_match_enabled": false

接下来,我们需要添加一组新的键绑定.我只是从你发布的一个,但我会解释我做了什么,因为它可能不是很明显.

{ "keys": ["'"],"context":
    [
        { "key": "setting.my_auto_match_enabled",{ "key": "selector","operand": "source.clojure","match_all": true }
    ]
}

首先,请注意,我将第一个上下文键从setting.auto_match_enabled切换到setting.my_auto_match_enabled.接下来,我添加了将限制范围的最后一个上下文条目.这样,只有当您不在source.clojure范围内时,代码段才会运行.你可能需要修改这个,因为我不知道clojure中的范围名称是什么,我只是猜测=).您将必须为所有单引号输入.现在,因为我们禁用了内置的自动配对,所以我们必须读取所有这些条目.在这些条目中,我们将再次将setting.auto_match_enabled更改为settings.my_auto_match_enabled.之后,一切都应该起作用.注意它实际上不一定是my_auto_match_enabled,这就是我所选择的.你可以根据你的需要改变它.

所有这一切,我没有完全测试所有这一切,所以评论如果你遇到问题.

说明:

所以现在你可能会问自己,为什么我需要禁用内置的自动匹配代码?那么这里的答案.即使我们在用户设置中阻止自动完成,使用类似的范围规则,仍然会回到默认状态,因此插入自动配对的报价,而不管我们在用户文件夹中的操作.现在你可能会想,但是如果我们修改默认设置文件怎么办?虽然我们可以这样做,再次插入相同的上下文设置,我们必须确保在任何后续更新中还原该文件.所以我想到底是由你决定的.如果您编辑默认文件,请记住,如果需要还原,则必须再次更改文件.

崇高文本3:

在ST3中,您可以执行实际修改的“默认”文件.这是因为在ST3中如何装入包装.插件不需要被提取到Packages文件夹,而是直接从.sublime-package文件(刚被重命名的zip)运行.此外,Packages目录中的任何文件优先于.sublime-package文件.因此,在ST3中,您将创建Packages / Default / Default(您的os在这里).sublime-keymap,并添加上下文行.随着更新不再修改Packages目录,它可以安全地从任何后续的更新.

猜你在找的HTML相关文章