【问题标题】:Keybind sublime text "enter" button to add extra words at the beginning of the new lineKeybind sublime text“输入”按钮在新行的开头添加额外的单词
【发布时间】:2016-07-29 20:01:04
【问题描述】:

我正在尝试使用关键字或完成或类似的东西制作一个崇高的文件,所以当我按下回车键时,我向下移动了一行,但我还有一个额外的冒号:在开头新队。 所以当我输入代码时,我可以完成我所在的行,然后按 Enter,然后从这样的行开始 :code :code [press enter] :[cursor is here]

我该如何做这个?我有一个使用“keyword”和“contents”的崇高完成文件,我希望它类似于“keys”:“[enter]”,当我按下输入下一行时,“contents”是一个冒号(:)?

我知道有更简单的方法可以做到这一点,例如高亮显示文本并将光标放在每行的开头,但我的具体情况是要求我已经完成每一行,所以在我完成输入后我不会'根本不需要回去修改任何东西。

【问题讨论】:

    标签: sublimetext3 key-bindings sublime-text-plugin


    【解决方案1】:

    类似这样的键绑定就可以了

    {
        "keys": ["enter"],
        "command": "insert", "args": {"characters": "\n: "} ,
        "context": [
            { "key": "selector", "operator": "equal", 
              "operand": "text.plain"},
        ]
    }
    

    这是对 enter 键的默认键绑定的一种处理,它不仅插入了换行符,还插入了一个“:”;之后光标将结束。

    这个被设置为只在纯文本文件中起作用。这很可能是您只想限制某些文件类型的内容,否则回车键不会总是执行您想要的操作。

    您可以通过在您感兴趣的文件类型的第一个字符。

    例如,在 C 文件中,它将是 source.c

    【讨论】:

    • 我在一个名为 tp.sublime-keymap 的文件中有确切的文本,并将它与我的 .sublime-completions 和 .sublime-syntax 文件一起存储在我的用户文件夹中,但是当我按下空格时什么也没有改变了吗?语法看起来确实正确,但不确定我是否正确使用了键盘映射?是否有 sublime-keymaps 的标头或与 .sublime-completions 文件相同?
    • 您应该选择Preferences > Key Bindings - User 并将绑定添加到打开的文件中(如果您没有自定义绑定,则会创建它)。
    • 另外,当您按下空格键时它不起作用,我并不感到惊讶,因为绑定是针对回车键的。 ;)
    • 哎呀我的意思是输入,但是感谢您的评论,我没有意识到我必须从我的崇高文本菜单中创建它。完美运行!
    猜你喜欢
    • 1970-01-01
    • 2016-05-21
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多