【发布时间】:2017-02-05 15:37:44
【问题描述】:
要自定义 Sublime Text 关于何时缩进换行符的行为,根据当前行,可以更改 whatever.tmPreferences 文件,适当地设置 increaseIndentPattern 和 decreaseIndentPattern 选项,如 this other answer 中所示。
但是,我似乎无法弄清楚如何生成以下行为:给定一行
[<cursor here>]
光标在方括号之间,按enter 我想要以下结果:
[
<cursor here>
]
例如,当修改 xml 文件时,在两个括号之间按 Enter 键时会发生这种情况,例如在 <sometag><cursor here></sometag> 中。
我试图查看 tmPreferences 文件中的 xml,但无济于事。
here 也有人问过类似的问题,但由于以下几个原因,现在的问题有所不同:
- 我希望此行为仅针对特定文件扩展名实现,和 随包一起提供。所以我也在问我应该把这个自定义键绑定的说明放在哪里。
- 在链接的问题中,问题更简单:在某种大括号之间正确添加和缩进换行符。 (对我来说)如何概括这种行为并不简单,就像上面引用的示例一样,我们希望在类似 XML 的标签之间有一个换行符,因为在这种情况下,我们将不得不以某种方式处理正则表达式 和 验证左右模式是否匹配。
如何实现这种行为?
【问题讨论】:
-
@KeithHall 感谢您的链接。这确实非常相关,但并不是一个直接的答案。例如,在帖子中显示的
xml的情况下,我在Packages的XML文件夹中找不到任何.sublime-keymap文件,所以我不确定该键绑定的设置位置。 -
您的用户键绑定始终在您的
User包中,它们不在与您要使用它们的位置相关的包中。为了使绑定作为链接仅适用于 XML 文件,您只需要添加一个额外的上下文来检查它是否是 XML 文件。以默认键绑定文件中的最后一个绑定为例。 -
@OdatNurd 很好,但这并不总是正确的,是吗?只需查看为某些目标文件类型集成了许多自定义键绑定的任何已安装包。
-
是的,但您最初并没有提到您想将它与插件一起发布。 ;)
标签: sublimetext3 sublime-text-plugin