aligntab插件需手动触发且首次使用必须激活配置:选中连续非空代码行后按ctrl+shift+a,但须先通过ctrl+shift+p运行aligntab命令生成默认配置;alignment_chars仅对aligntab生效,大文件或复杂正则易卡顿,对齐失败多因缩进/换行符不统一。

AlignTab插件必须手动触发,不是装完就自动对齐
装完 AlignTab 后按 Ctrl+Shift+A 或 Ctrl+Alt+A 没反应?不是插件坏了,是它压根不监听编辑或保存事件,只响应你明确选中多行 + 手动触发。常见误操作是:光标停在单行、全选但含空行/注释、或选区跨折叠区域——这些都会让命令静默失败。
务必确认:
- 选中的是连续、非空、有目标符号(如 =、:)的纯代码行
- 当前语法类型没被 AlignTab 黑名单屏蔽(比如 YAML 默认禁用)
- 没其他插件劫持了快捷键(查 Preferences → Key Bindings 搜 align_tab)
首次使用必须先触发一次,否则配置不生成
AlignTab 安装后不会自动生成配置文件,得手动“激活”一次:按 Ctrl+Shift+P → 输入 AlignTab → 回车 → 随便输个符号(比如 =)→ 回车。这步会在 Packages/User/AlignTab.sublime-settings 里写入默认配置,之后才能正常对齐。
跳过这步,哪怕你后续选中十行带等号的代码,Ctrl+Shift+A 也只会光标闪烁一下,什么也不做。
对齐符号靠 alignment_chars,但只对 AlignTab 有效
alignment_chars 是 AlignTab 的核心配置项,用于定义哪些字符能当对齐锚点。它只对 AlignTab 生效,对 Sublime 原生 align_indent 或 Alignment 插件完全无效。
在 Packages/User/AlignTab.sublime-settings 中添加:"alignment_chars": ["=", ":", "->", "=>"]
注意:
- 数组顺序影响优先级:前面的符号优先匹配(比如同时有 = 和 ==,得把 == 放前面)
- 全角符号(如=)、Unicode 箭头(⟶)不会被识别,必须用 ASCII 字符
- 如果某行含多个匹配字符(如 a = b == c),AlignTab 只取第一个(=),不会智能选最右那个
大文件或复杂正则容易卡死,别盲目套用
AlignTab 对每行都执行一次正则匹配。在 3000 行以上的 JSON 或日志里全选再按对齐,Sublime 可能假死 10 秒以上——这不是内存问题,是正则引擎拖慢了。
规避方法:
- 避免在大文件里全选,只框出真正要对齐的十几行
- 别在 alignment_chars 里塞太多符号,尤其是带空格的模式(如 "\s*=\s*")
- 不同语言分开配:Python 文件用 ["=", ":"],JS 文件单独建 JavaScript.sublime-settings 配 ["=", "=>", ":"],YAML 文件建议清空数组禁用
- 想对齐注释?别硬改 alignment_chars,用 align_tab_regexes 写专用正则,且必须加 \s* 吃掉前后空白,否则对齐点会落在空格上
对齐失效时,90% 是缩进不统一或换行符混用;检查前先执行 View → Indentation → Convert Indentation to Spaces 和 File → Convert Line Endings → Unix。











