AlignTab插件可对齐等号:安装后选中多行,按Ctrl+Alt+A(Win/Linux)或Cmd+Alt+A(macOS),输入=回车即可;支持=r右对齐、=l左对齐,需确保每行含等号且缩进统一为空格。

Sublime 怎么用 AlignTab 插件对齐等号?
直接装 AlignTab,别用自带的 indent 或其他格式化工具——它们不处理「横向对齐」,只管缩进和换行。AlignTab 是目前 Sublime 上唯一能稳定按 =、:、-> 这类符号批量对齐的插件。
安装后,选中要对齐的多行(比如一组变量赋值),按 Ctrl+Alt+A(Windows/Linux)或 Cmd+Alt+A(macOS),再输入 = 回车,立刻生效。
- 必须手动选中目标行,全选或整文件会把注释、空行、函数体也拉进来,导致错位
- 默认对齐是左对齐 + 最小空格填充,如果想右对齐等号(即等号列右靠),得在触发后输入
=r而不是只输= - 对齐前确保每行都有等号,否则没匹配到的行会被忽略——但不会报错,容易误以为“没反应”
为什么 AlignTab 比 Tabularize 更适合 Sublime?
Tabularize 是 Vim 的经典对齐方案,Sublime 有移植版,但维护停滞、正则支持弱、不兼容 Sublime 4 的 Python 3.8+ API。而 AlignTab 基于 Sublime Text 原生 API 开发,支持 Sublime 3/4,且内置常用分隔符快捷键(Ctrl+Alt+: 对齐冒号,Ctrl+Alt+- 对齐箭头)。
- 正则模式可用但非必需:比如对齐
key = value中的=,直接输=就够;若要排除注释行里的等号,才需写=(?!\s*#) - 对齐结果不修改原有缩进层级,只插入空格——这点很重要,否则会破坏 PEP8 或团队缩进规范
- 不自动保存,对齐完记得手动
Ctrl+S,尤其在未开启save_on_focus_lost的项目里
对齐后变量名参差不齐?试试这个预处理技巧
如果原始代码像这样:
user_id = 123 username = "alice" is_active = True
直接对齐 = 会得到:
user_id = 123 username = "alice" is_active = True
但很多人其实想要变量名右对齐、等号左对齐(更紧凑)。这时不能只靠 AlignTab 一次完成,得加一步预处理:
- 先用
Ctrl+Shift+L拆分多光标,把光标停在每行等号前一个字符位置 - 按
Shift+→选中等号,再按Ctrl+Shift+P→ 输入AlignTab: Align→ 回车 → 输=l(强制左对齐等号) - 或者更简单:选中全部变量行 →
Ctrl+Shift+P→Convert Indent to Spaces确保全是空格,再对齐——混合 tab/spaces 会导致对齐错位
对齐 Python 字典或 JSON 数据时要注意什么?
对齐 {'a': 1, 'b': 2} 这种单行字典没意义,AlignTab 主要用于多行结构:
'name': 'Alice', 'age': 28, 'city': 'Shanghai',
此时对齐冒号比对齐等号更合理,因为这是键值对语法,不是赋值。操作流程一样,但快捷键换成 Ctrl+Alt+:,或手动输 :。
- 注意末尾逗号:如果某行没逗号(比如最后一项),AlignTab 仍会对齐,但可能视觉上不协调——建议统一加逗号再对齐
- 嵌套结构慎用:比如字典里套列表,AlignTab 无法识别层级,强行对齐会让结构变模糊
- JSON 文件里对齐后,务必验证格式有效性——额外空格不影响解析,但某些老旧工具(如部分 CI lint)可能报 warning
真正麻烦的不是怎么对齐,而是对齐之后要不要提交、要不要让队友也装这插件、以及每次 review 时发现有人手敲空格对齐却没用插件——这些才是团队落地时卡住的地方。

















