alignment插件需手动配置才能生效:先修改快捷键避免冲突,再禁用align_indent并设置alignment_chars,确保选区规范且文件格式统一,它仅做纯文本列对齐,非语法感知格式化工具。

Alignment 插件在 Sublime Text 里默认不生效,不是装完就能按 Ctrl+Alt+A 对齐——它必须手动配置 alignment_chars、禁用干扰项、选对区域,否则只会跳光标或完全没反应。
Alignment 命令根本没响应?先检查快捷键和插件状态
Sublime Text 4 默认把 ctrl+alt+a 分配给了「全选」,直接覆盖了 Alignment 的触发逻辑。打开 Preferences → Key Bindings,在右侧用户键位配置中添加:
[ {"keys": ["ctrl+alt+a"], "command": "alignment"} ]
确保 Alignment 已通过 Package Control 正确安装:按 Ctrl+Shift+P 输入 alignment,能搜到命令才说明插件加载成功。macOS 用户还要检查系统级快捷键(如聚焦搜索)是否劫持了 cmd+alt+a,需在系统设置里关闭。
等号/冒号对不齐,只动了空格?必须关 align_indent 并配 alignment_chars
Alignment 默认优先按缩进对齐,而不是你想要的符号。打开 Preferences → Package Settings → Alignment → Settings – User,写入:
{ "align_indent": false, "alignment_chars": ["=", ":", "=>", "->"] }
-
align_indent必须设为false,否则它会忽略你写的符号,只拉齐空格列 -
alignment_chars是数组,每个符号用双引号包裹,逗号不能省略 - 顺序无关,但
"=="要放在"="后面,否则=会提前截断匹配 - 该配置只对
alignment命令有效,对原生align_indent命令完全无效
选中多行后对齐错位?问题出在选区、换行符或缩进混用
Alignment 严格要求「每行至少含一个 alignment_chars 中定义的字符」,且对空白敏感:
- 某行漏了
=或:?这行会被跳过,其余行仍对齐,导致视觉错位 - 行尾有空格或注释?先执行
Ctrl+Shift+P → Trim Trailing White Space - 鼠标拖选没选到换行符?Sublime 可能识别为单行——改用
Ctrl+L选整行,再Ctrl+Shift+L拆成多光标 - 文件混用
和?执行File → Convert Line Endings → Unix - 混用 Tab 和空格?统一为 4 空格:
"translate_tabs_to_spaces": true+"tab_size": 4
Python 字典或 JS 对象对齐后格式崩坏?别让大括号参与对齐
Alignment 是纯文本对齐工具,不理解语法结构。如果你选中包括 { 和 } 的整段字典,它会把 { 后面的空格也当成对齐锚点,导致键值偏移甚至语法错误:
- 安全做法:只选中键值对部分(从
"key":到"value"),避开{和} - 更稳方案:用正则模式精准抓
:,例如配置"alignment_regex": "\s*(:)\s*",避免误触注释或字符串内符号 - 绝对不要对齐 docstring 或多行字符串里的内容——缩进语义和代码不同,对齐后可能破坏换行逻辑
最常被忽略的一点:Alignment 不是格式化器,它只做列对齐;缩进层级、括号匹配、引号风格这些都得靠 JsPrettier 或 SublimeBlack 这类语言专用插件来管。把它当尺子用,别当手术刀。











