Sublime Text中如何实现符号列表的层级缩进?
Sublime Text符号列表缩进层级与Markdown tmPreferences文件位置问题解决
一、实现符号列表的缩进层级
Sublime Text的符号列表层级并非由increaseIndentPattern控制,而是通过符号的类型标识或上下文关联实现嵌套。你需要在.tmPreferences文件中,为不同层级的标题设置对应规则,让Sublime识别层级关系:
- 打开自定义语法对应的
.tmPreferences文件 - 为不同层级标题定义差异化的
scope匹配规则,比如一级标题匹配entity.name.section.level1.your-custom-syntax,二级标题匹配entity.name.section.level2.your-custom-syntax - 在符号定义中通过
symbolKind指定类型(如heading1、heading2),Sublime会自动根据该类型的层级逻辑在符号列表中显示缩进
示例.tmPreferences片段:
<dict> <key>name</key> <string>Level 1 Heading</string> <key>scope</key> <string>entity.name.section.level1.your-story-syntax</string> <key>symbolKind</key> <string>heading1</string> </dict> <dict> <key>name</key> <string>Level 2 Heading</string> <key>scope</key> <string>entity.name.section.level2.your-story-syntax</string> <key>symbolKind</key> <string>heading2</string> </dict>
如果使用Sublime Text 4+,也可以直接在自定义语法文件(.sublime-syntax)中通过meta.symbol和meta.symbol.nested定义层级,这种方式比.tmPreferences更直观。
二、Ubuntu 22中Sublime自带Markdown的tmPreferences位置
通过apt-get安装的Sublime Text 4152,自带的Markdown配置文件打包在系统目录的压缩包中:
/opt/sublime_text/Packages/Markdown.sublime-package
你可以将该文件后缀改为.zip后解压,就能找到内部的Markdown.tmPreferences文件。
注意:不要直接修改系统目录的文件,建议通过Package Control安装PackageResourceViewer插件,用它提取目标文件到~/.config/sublime-text/Packages/Markdown目录下修改,避免被Sublime更新覆盖。
内容的提问来源于stack exchange,提问作者WoodrowShigeru
相关产品推荐
相关产品推荐

