alignment插件在sublime text 4中完全不可用,因其依赖已移除的旧版api且未适配st4异步机制;应改用持续维护的aligntab插件,安装后需手动配置alignment_chars等参数并重启才能按=、:等符号正确对齐。

Alignment插件在Sublime Text 4里根本不能用
Sublime Text 4 默认禁用了所有基于旧版 API(即 Sublime Text 2/3 的 sublime_plugin.EventListener 早期变体)的插件,而 Alignment 是典型的老插件——它依赖已移除的 view.settings().set('align_indent', ...) 等私有设置,且未适配 ST4 的 on_text_command 和异步事件机制。直接通过 Package Control 安装后,ctrl+alt+a(Windows/Linux)或 cmd+ctrl+a(macOS)完全无响应,控制台也不会报错,只是静默失效。
替代方案:用AlignTab代替Alignment
AlignTab 是目前 ST4 唯一持续维护、真正可用的对齐插件,支持正则分隔符、多光标、列选择,并兼容 ST4 的异步命令调度。安装后默认快捷键仍是 ctrl+alt+a,行为一致,但底层重写了全部逻辑。
- 打开 Command Palette(
ctrl+shift+p),输入Package Control: Install Package,回车 - 搜索
AlignTab,选中并安装 - 重启 Sublime Text(必须,否则部分命令不注册)
- 选中要对齐的多行文本,比如:
name = "Alice" age = 28 city = "Beijing"
然后按ctrl+alt+a,光标会自动停在=右侧,对齐完成
AlignTab 的关键配置项和常见陷阱
AlignTab 默认按空白字符对齐,但多数人需要按 =、: 或 -> 对齐,这必须手动改配置,否则看起来“没反应”。
- 菜单栏 →
Preferences → Package Settings → AlignTab → Settings - 在用户配置里添加:
{ "alignment_chars": ["=", ":", "->", "\|"], "alignment_space": 1, "align_indents": false } -
"alignment_chars"必须是字符串数组,正则需转义(如"\|"表示竖线) -
"align_indents"设为false才能避免把缩进空格也当成对齐目标 - 改完保存,无需重启,但已有选区需重新选择才能生效
对齐失败时先检查这三件事
AlignTab 不工作,90% 情况不是插件问题,而是环境或操作细节被忽略。
- 确认当前视图不是只读模式(右下角显示
RO)或语法设为Plain text—— AlignTab 在某些自定义语法(如JSON、YAML)下会跳过处理 - 确保你选中的是**纯文本行**,而不是含折叠代码块、注释块或嵌入 Markdown 的区域;AlignTab 不解析语法树,只做字符串匹配
- 如果用了其他对齐类插件(如
Alignment、CodeAlignment),卸载它们——多个插件注册同名命令会导致冲突,ST4 会静默丢弃后加载的那个
对齐本质是字符串位置计算,没有 AST 支持,所以别指望它能理解 Python 的冒号缩进或 JSON 的嵌套结构。想对齐复杂结构,得先手动切出干净的行块。











