alignment插件可实现sublime text的列对齐,需配置alignment_chars或正则模式;严格要求多行且每行含匹配字符,推荐先清理空格、整行选择,并谨慎测试正则。

用 Ctrl+Shift+P 调出命令面板后输入 “Align” 就能对齐,但默认不带列对齐功能
Sublime Text 原生不支持“按列对齐”(比如让等号、冒号或逗号垂直排成一列),它自带的 Align Tabs 插件只对制表符有效,对空格分隔的文本基本没用。真正能解决列对齐问题的是第三方插件 AlignTab 或更轻量的 Alignment ——后者更稳定、配置简单,推荐优先试它。
安装方式很简单:Ctrl+Shift+P → 输入 Package Control: Install Package → 回车 → 搜索 Alignment → 回车安装。装完不用重启,立即生效。
Alignment 默认只对等号对齐,想对齐冒号、竖线等得改 alignment_config
插件默认只识别 =,所以写 JSON 或 CSS 时想让 : 对齐,必须手动配置。配置路径是:Preferences → Package Settings → Alignment → Settings – User,填入类似这样的内容:
{
"align_indent": false,
"align_open_bracket_with_function": false,
"alignment_chars": [":", "=", "->", "|", ","]
}
注意几点:
-
alignment_chars是关键,里面每个字符都会被当作对齐锚点;加多了可能误对齐,比如加了,后,函数参数列表里每行逗号都会拉齐,未必是你想要的 -
align_indent设为false更安全,否则缩进会被强行拉平,破坏代码结构 - 修改后无需重启,但已打开的文件要重新选中再执行对齐才生效
选中多行后按 Ctrl+Alt+A 才触发对齐,单行或全选全文都无效
这个快捷键是 Alignment 的默认绑定,但很多人卡在这一步:要么全选整个文件,要么只点一下光标就按快捷键,结果没反应。它严格要求“多行且每行至少有一个匹配的对齐字符”。常见失败场景:
- 只选中 1 行 → 不触发
- 选中多行,但某一行没出现
alignment_chars里定义的字符 → 该行被跳过,其余行仍会对其余行对齐(可能错位) - 行尾有空格或注释干扰 → 对齐位置偏移,建议先用
Ctrl+Shift+P→Trim Trailing White Space清理 - 用鼠标拖选时没选到行尾换行符 → Sublime 可能只识别为单行,建议用
Ctrl+L多次选中整行,再Ctrl+Shift+L拆分成多光标,最后统一操作
正则模式能应对复杂对齐,但容易写错导致整块错位
如果要对齐“key: value # comment”中的 :,但又不想把注释也拉过去,就得开正则模式。在用户配置里加:
"alignment_regex": "(\s*)(\S+\s*):"
意思是:捕获开头空白 + 非空字段 + 空白,然后以冒号为锚点对齐。但要注意:
- 正则必须用双反斜杠
\,因为 JSON 字符串要转义一次,Sublime 内部还要再转义一次 - 必须有且仅有一个捕获组
(...)包住对齐前的内容,否则插件无法判断“对齐起点” - 启用正则后,
alignment_chars会被忽略,两者不能共存 - 测试正则建议先在 Sublime 自带的
Ctrl+H查找框里粘贴验证,避免配错后批量破坏格式
列对齐看着简单,实际最麻烦的是锚点识别精度和上下文干扰——尤其混着注释、嵌套结构或不同缩进层级时,宁可少选几行,也别贪多硬对。











