右下角显示 Plain Text 说明高亮未启动,需点击该文字并选择 Assembly (NASM)、x86 (GAS) 或 ARM Assembly;若菜单无选项则启用对应插件;.s 和 .S 需分别绑定,且 .s 易被误判为 Shell;寄存器或指令不着色因语法包未定义该词或主题不支持;构建系统 selector 必须与语法 scope 严格一致。

右下角显示 Plain Text 就说明高亮根本没启动
这不是插件没装,是 Sublime 压根没把当前文件当汇编处理。点右下角文字(比如 Plain Text),在弹出菜单里搜 Assembly (NASM)、x86 (GAS) 或 ARM Assembly —— 选中即生效。如果菜单里压根没有这些项,说明对应语法包被禁用了:Ctrl+Shift+P → 输入 Package Control: Enable Package → 搜索并启用 EnhancedAssembly 或 Assembly Language Support。
.s 和 .S 必须分别绑定,且开头有 # 就会被判成 Shell
.s 文件常以 #include 或 #define 开头,Sublime 会直接 fallback 到 ShellScript 语法,寄存器(如 %rax)、指令(如 movq)全无颜色。临时解法:Ctrl+Shift+P → Set Syntax: x86 (GAS);永久解法:右键文件标签页 → Open all with current extension as… → 选 EnhancedAssembly → x86 (GAS)(注意大小写和空格必须完全一致)。.S(大写)是独立后缀,得单独绑定,Sublime 不会自动继承小写规则。
寄存器或新指令不着色?不是配置错,是语法包没定义这个词
光标停在 vmovdqa 或 csrrw 上,Ctrl+Shift+P → Developer: Show Scope Name,如果输出里不含 support.instruction 或 variable.register 类 scope,说明当前语法文件根本没收录该 token。NASM 插件默认不认 RISC-V 的 csrrw,GAS 插件默认不认 AVX-512 的 vaddpd。宏(如 %define BUF_SIZE 4096)也不着色,因为语法里没定义 meta.preprocessor.nasm scope。主题也可能导致“写了却看不见”:换用 Monokai 或 Adaptive 主题再试一次 Show Scope Name。
构建系统 selector 必须和语法绑定严格一致
自定义 nasm.sublime-build 时,selector 字段必须匹配你手动设置的语法 scope。比如你用的是 Assembly (NASM),那 selector 得写成 source.asm.nasm;若用的是 EnhancedAssembly → x86 (GAS),则 selector 应为 source.gas。不一致会导致 Build 菜单里找不到对应项,或者 Build 时根本不会触发。另外,.s 文件若被识别为 ShellScript,构建系统也永远不会运行——高亮和构建是两套依赖,但都卡在同一个起点:右下角显示的语法名是否正确。


















