【问题标题】:Sublime text - add semicolon and cursorSublime text - 添加分号和光标
【发布时间】:2021-09-16 11:39:38
【问题描述】:

我正在尝试设置我的 Sublime Text 3,但我无法进行我想要的设置(在我的旧计算机上的 ST2 中可以使用)。

我需要什么
当我输入 CSS 时,我输入例如。 color: 并且我希望自动完成到 color: |;(其中 | 是一个光标)。

到目前为止我所拥有的
我找到了要添加的建议

{ "keys": [":"], "command": "insert", "args": {"characters": ": ;"}}    

进入sublime-keymap。它部分工作,它添加空格和分号,但如果在后面,而不是在里面,则光标。

当我用谷歌搜索时,我得到了 99% 的结果是 ST2 而不是 ST3。

有什么想法吗?谢谢。

【问题讨论】:

    标签: syntax sublimetext3 keymapping


    【解决方案1】:

    insert 命令只是准确插入您提供的文本,就好像您自己键入一样。如果您想执行插入文本之类的操作并指定光标结束的位置,则需要insert_snippet

    默认键绑定有几个使用insert_snippet 绑定的键示例作为演示这一点的命令。例如:

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

    正如这里所指出的,insert_snippet 命令将contents 作为其参数之一,它指定要插入的 sn-p 的文本,并且该文本可以包含诸如 sn-p 字段之类的内容,就像一个sublime-snippet文件就可以了。特殊字段$0 指定了光标应该放置的位置。

    此特定示例还包含 context 项,这些项准确定义了此绑定应在何种情况下处于活动状态。

    正如您的问题中所述,每次您输入冒号时都会触发您的绑定,这使您无法只输入一个冒号。因此,如果您还没有这样做,您可能还想为您的密钥添加上下文。

    顺便说一句,Sublime Text 4 的一个特点是它会在输入 CSS 属性时自动注入一个类似这个的 sn-p。

    【讨论】:

    • 感谢您的回复,仍然无法按我的需要工作... :-( 当我输入 color 并按 : 时,您的 sn-p 会为我添加空间(很好),我'我也想加分号,这个sn-p可以加分号吗?
    • @pavel contents 中的文本是插入的内容,$0 是光标所在的位置;您可以对其进行修改以插入您喜欢的任何文本。
    • 我已将其更改为{"contents": "'$0;'"},但没有添加分号... :-(
    • 在这种情况下,绑定不会被触发,而是另一个。
    • 你能帮我看看应该怎么做吗?抱歉,如果我们被误解了(可能是因为我的英语不太好),我在我的问题中写道:我想自动完成color: |;
    猜你喜欢
    • 2018-02-06
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多