简介:这是一份面向程序员的 Sublime Text 配置与扩展资源包,文件总数达到两千个,打包后约十五点八兆。资源围绕编辑器定制展开,结构清晰:核心包括七百多个多语言代码片段、两百多个界面图标与预览素材、一百多个编辑器扩展脚本,以及众多语法定义、配色主题、快捷键映射和构建系统配置,几乎覆盖了从外观主题到操作指令的完整链路。其中三十一个 PSD 源文件可供二次设计界面,九个构建系统文件方便集成编译;附带的大量缓存与辅助文件则能保证配置开箱即用。无论初学者还是资深开发者,都可以将这些文件直接导入编辑器,省去四处寻找插件和手工调试配置的麻烦,快速获得一套组合了多列编辑、文件比较、项目切换等高效操作的个人工作环境。已有二百零九人学习下载,适合希望深度定制 Sublime Text、提升编码效率的用户。
1. 从 Build 4200 到 4213:为什么我现在还向别人安利 Sublime Text
同事看我天天在终端里敲subl .,总爱问一句:「这古董还活着?」活得好好的。Sublime Text 的官方版本号已经走到 4213,而 Linux Mint 软件管理器里还躺着 4200 这个旧 build。它不是被时代淘汰的玩具,而是一个「秒开、省电、全程键盘直达」的专业编辑器,机器越弱、文件越大、越依赖键盘的人越离不开它。
它适合的人很具体:日常写配置、翻日志、改脚本、维护 Rust 中型项目的开发者,以及被 IDE 全家桶启动两分钟、风扇狂转劝退的一线运维。它和 IDE 不是替代关系,是互补关系——IDE 负责重型调试,Sublime 负责一切「我就改两行」的场合。
下面按落地顺序讲:Linux Mint 上到底装哪个版本、Build 4200 的「激活」真相是什么,再进配置体系、Rust 开发流和四个高频翻车点。每一步都给你能直接抄的答案。
2. Linux Mint 上装对 Sublime Text:版本差异、官方仓库与激活的真相
装 Sublime 的第一关不是配置,而是版本来源。Linux Mint 软件管理器、官方 apt 仓库、Flathub 三处渠道,装出来的东西不一样,决定了你之后能不能用上最新特性、能不能跑顺 LSP 这类依赖外部程序的插件。
2.1 Linux Mint 软件管理器里的 4200 与官网 4213:选哪个不后悔
软件管理器里安装最省事,点一下就行,更新跟着发行版节奏走。但它的问题在于版本滞后——你搜到的是 Build 4200,而官方已经发到 4213。对纯文本编辑来说没差别,但如果你要写 Rust、想要新语法定义、想让 LSP 插件兼容得好,版本越新越省心。我把两个来源放在一起对比:
| 对比项 | 软件管理器 / Flatpak | 官方 apt 仓库 |
|---|---|---|
| 版本 | 通常偏旧(4200 一带) | 当前最新(如 4213) |
| 更新节奏 | 跟随发行版打包 | 官方发版后即可 apt 升级 |
| subl 命令 | 不保证进入 PATH | 自带 /usr/bin/subl |
| 插件访问外部工具 | 沙箱限制较多 | 无沙箱,rust-analyzer、git 可直接调用 |
| 适用人群 | 轻度编辑、应急使用 | 开发主力、想长期打磨配置的人 |
怎么快速确认自己装的是哪个版本?打开 Sublime Text,菜单 Help → About Sublime Text,里面会直接显示 Build 号。不要因为版本号差几十就焦虑,4200 和 4213 的核心功能一致;但如果你发现某个插件装上后行为怪异,先看一眼版本,再去官方仓库升级到最新,往往就好了。
我的一般建议是:既然你愿意花时间读这篇,说明你是要用它干活的,直接走官方 apt 仓库。软件管理器那条路留给「临时打开一个文件」的使用场景。
2.2 官方 apt 仓库安装链路:密钥、软件源与 subl 命令
Sublime Text 官方维护了一个 apt 仓库,安装链路是标准的「导入 GPG 密钥 → 写源 → apt 更新安装」三步。我在新机器上是这么操作的:
# 第一步:导入官方仓库的 GPG 密钥,交给本机密钥环管理 wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive-keyring.gpg >/dev/null # 第二步:写入源文件,/etc/apt/sources.list.d 下的文件会被 apt 自动读取 echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list # 第三步:刷新索引并安装 sudo apt update sudo apt install sublime-text第一步里gpg --dearmor把 ASCII 格式的公钥转成二进制 keyring,这是现在 Debian/Ubuntu 系推荐的做法,比直接往/etc/apt/trusted.gpg里塞文件更规范,以后想移除仓库也干净。第二步用tee而不是重定向符,是为了让普通用户也能写入/etc下的文件,同时把内容回显到终端方便确认。安装完成后验证一下:
which subl subl --version如果subl能打印版本号,说明命令行入口已经就位,后面第 6 章要讲的subl --wait、subl --project全都依赖这个。
这里有个容易翻车的细节:apt update报公钥错误但你的命令明明没写错,先date看一眼系统时间。GPG 证书校验对时间非常敏感,虚拟机快照恢复、主板电池失效都会导致时间漂移,这时候密钥「看起来是坏的」,其实是系统时间穿越了。
提示:如果你之前已经从 Linux Mint 软件管理器装过 Sublime,多半是 Flatpak 封装版本。执行
flatpak list | grep -i sublime能确认。Flatpak 版的两个硬伤是subl命令不会进入系统 PATH,以及沙箱环境下 rust-analyzer 这类外部二进制经常读不到你 PATH 里的路径。要跑开发工作流,建议直接卸载后在软件管理器里找对应条目移除,再按本节走官方仓库。
2.3 Build 4200 的「激活」谜题:评估模式、许可证与正版路径
很多人搜「软件管理器中安装的 Sublime Text 4200 如何激活」,是被「未注册」提示吓到了。先把这个概念讲清楚:Sublime Text 是商业软件,但它的评估模式没有任何功能阉割,也不会到期失效,只是偶尔弹一个购买提示窗。也就是说,你从软件管理器装完 4200,不激活也能一直用,唯一代价是弹窗频率。
至于「激活」的正解,只有一个官方路径:去官网购买个人许可证,然后在菜单 Help → Enter License 里粘贴授权码。许可证跟人不跟机,你名下几台电脑、几个系统都能用,换 Linux Mint 重装系统后重新输入同一份授权码即可恢复。
许可证文件在 Linux 上通常存放在~/.config/sublime-text-4/Local/License.sublime_license。把这个文件备份一份,等于给授权上了后悔药:新机器直接放回原路径,连粘贴授权码这步都省了。从软件管理器装的 4200 和官网的 4213 共用同一套授权机制,升级版本不需要重新购买。
注意:网上流传的注册机、keygen 是打包恶意代码的重灾区。Sublime Text 新版对授权校验越来越严,用盗版号反而可能把系统搞坏。与其冒这个险,不如就用评估模式——功能一字不差,只是偶尔被弹窗打断一下。
3. 把 Sublime Text 调成自己的形状:配置文件红线与键盘操作流
Sublime Text 的强大一半在快捷键,另一半在配置文件。但配置体系是新手的第一个坑:默认文件、用户文件、键位文件、片段文件,各有各的位置和优先级。改错地方,轻则重启丢配置,重则界面开起来全是默认值。
3.1 先分清 Default 与 User:Settings 和 Key Bindings 的正确改法
打开 Preferences → Settings,编辑器分左右两栏:左边是 Default(平台默认配置),右边是 User(你的个人覆盖)。第一条红线:永远不要改 Default 那一侧。Sublime Text 升级时会整体替换 Default 文件,你改的会被覆盖,而且失去「和默认对比」的参照系。所有改动全部写进右侧 User 栏。
Sublime Text 的 settings 文件语法是带注释的 JSON,//注释是合法的,这点和标准 JSON 不同。我常用的 User 配置长这样:
{ // 我常用的几项 "font_size": 12, "tab_size": 4, "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "ensure_newline_at_eof_on_save": true, "draw_white_space": "all", "spell_check": false, "ignored_packages": ["Vintage"] }这里逐个说为什么值得改。translate_tabs_to_spaces加上trim_trailing_white_space_on_save和ensure_newline_at_eof_on_save是团队协作的护身符——前者避免你提交进去一堆行尾空格,后者保证文件末尾有换行,这对 C/C++、Rust 和 shell 脚本都算最佳实践。draw_white_space: "all"让行尾空格和 Tab 显形,改完保存一眼就能看出哪行脏。spell_check默认是开的,对英文写作有用,但对写代码的人反而干扰,还会拖慢大文件响应。
键位文件同理:Preferences → Key Bindings 打开后,左边 Default、右边 User。User 侧是 JSON 数组,我在里面加了一个「整块注释」的快捷键:
[ { "keys": ["ctrl+shift+/"], "command": "toggle_comment", "args": { "block": true } } ]这个改法要注意:User 键位不是「在默认基础上叠加」,而是「同名键位直接覆盖」。你写了一条ctrl+shift+/,默认里如果也有这条,以 User 为准。想查某个动作当前绑定在什么键上,直接在 Default 键位文件里 Ctrl+F 搜命令名,比网上查攻略快。
3.2 Goto Anything 与命令面板:键盘导航三板斧
Sublime Text 最值钱的特性是 Goto Anything(Ctrl+P)。它不仅仅是文件名搜索,而是支持模糊匹配加前缀指令的组合面板。我把日常最高频的几个操作列出来:
| 操作 | 默认键位 | 说明 |
|---|---|---|
| 文件跳转 | Ctrl+P | 输入路径片段,模糊匹配 |
| 符号跳转 | Ctrl+R | 当前文件内函数、类列表 |
| 跳转行 | Ctrl+G | 输入行号直达 |
| 命令面板 | Ctrl+Shift+P | 所有命令的统一入口 |
模糊匹配的意思是,你不需要输入完整路径,输入lsc就能匹配到LinuxServerConfig.rs,中间字母也认。手可以完全不离开键盘:Ctrl+P 输入文件名回车,再到目标行附近按 Ctrl+G 输入行号,整个过程比鼠标在侧边栏里翻快一个数量级。
这里有一个新手常忽略的前提:Ctrl+P 默认只搜索「当前打开的文件夹或项目」里的文件。如果你只是单独打开了某个文件,Ctrl+P 是搜不到它旁边其他文件的。正确姿势是先 Project → Add Folder to Project 把工作目录加进来,以后 Ctrl+P 才能全局跳转。这也是为什么我反复强调项目文件(.sublime-project)的重要性,后面第 6 章会专门讲。
命令面板是另一个被低估的入口。它不只是装插件用的:Set Syntax、Toggle Comment、Sort Lines、Convert Case 全都藏在里面。养成「不知道功能在哪,先按 Ctrl+Shift+P 搜关键字」的习惯,比记上百个快捷键更实际。
3.3 多光标与片段:Ctrl+D 之外的高频操作
多光标编辑是 Sublime Text 的看家本领,也是新用户最容易「哇」一下的功能。核心操作是 Ctrl+D:选中当前词,再按一次就选中下一个相同的词,连按几次就能同时选中多处,然后直接输入替换。Alt+F3 是「全选所有匹配项」的暴力版,适合一次性改整文件里的同名变量。Ctrl+Shift+L 则把当前多行选区拆成每行一个光标,典型的场景是给 20 行日志的每一行统一加前缀或后缀。
还有一个容易被忽略的列选模式:按住 Shift 再按鼠标右键拖动,或者直接按住鼠标中键拖动,就能拖出一个矩形选区。处理对齐文本、批量删除某几列空格时比正则还快。退出所有多光标状态,按一下 Esc 就行。
片段(Snippet)是比多光标更高一阶的效率工具。它把「常用代码模板 + 光标定位」打包成一个 Tab 触发词。我在Preferences → Browse Packages → User目录下放了一个 Rust 调试输出片段,文件内容是这样的:
<snippet> <content><![CDATA[println!("{:?}", $1);]]></content> <tabTrigger>pdbg</tabTrigger> <scope>source.rust</scope> </snippet>存成rust-dbg.sublime-snippet后,在任意.rs文件里输入pdbg再按 Tab,就会展开成println!("{:?}", );,并且光标自动停在$1的位置。scope字段限定这个片段只在 Rust 语法下生效,避免污染其他语言。你可以照葫芦画瓢给自己的常用语言做几个,比如 shell 文件的#!/usr/bin/env bash头、Python 的if __name__ == "__main__":块,都是两分钟能搞定的事。
4. 用 Sublime Text 写 Rust:LSP-rust-analyzer、构建系统与资源降载
Sublime Text 写 Rust 是完全可行的方案,关键是让 LSP-rust-analyzer 插件、cargo 构建系统和编辑器三方协作起来。这章按「装插件 → 配参数 → 建构建 → 降负载」四步走完,每一步都给你能抄的配置。
4.1 Package Control 与 LSP-rust-analyzer 的最小安装
Sublime Text 4 的包管理比老版本省心很多。打开编辑器,Ctrl+Shift+P 调出命令面板,输入Install Package Control,回车等它跑完。这一步会把 Package Control 基础环境装好。接着再按 Ctrl+Shift+P,输入Package Control: Install Package,然后搜索LSP-rust-analyzer。装这个包时,Package Control 会自动把 LSP 客户端依赖一起拉进来,你不需要手动装 LSP 本体。
这里有个关键认知:LSP-rust-analyzer 插件只是客户端,真正的语法分析、补全、跳转都是由独立的rust-analyzer服务端二进制完成的。所以插件装完,还要确保系统里有这个二进制。我一般这样处理:
# 用 rustup 安装 rust-analyzer 组件(新版 rustup 已内置) rustup component add rust-analyzer # 确认可执行文件在 PATH 里,LSP 插件默认从这里找 which rust-analyzer如果which输出为空,说明你的 rustup 版本较老或不带这个组件,从 rust-analyzer 官方发布页下载对应平台的二进制放到~/.local/bin即可,记得确认这个目录在 PATH 里。装完后怎么验证它真的在工作?Ctrl+Shift+P 输入LSP: Toggle Log Panel,打开日志面板,再打开一个 Rust 项目,日志里能看到rust-analyzer started这样的输出,同时状态栏右侧会出现 rust-analyzer 的字样。
顺带一提:Sublime Text 4 对.rs文件本身就有基础语法高亮,即使不装任何插件也不会白屏。LSP 解决的是语义层——类型标注悬浮、定义跳转、错误诊断这些「编辑器看不见」的信息。
4.2 三个值得抄走的 rust-analyzer 参数
插件装好后,进入 Preferences → Package Settings → LSP-rust-analyzer → Settings,把右侧 User 一侧改成下面这份配置:
{ "settings": { "rust-analyzer.cargo.buildScripts.enable": true, "rust-analyzer.check.command": "clippy", "rust-analyzer.procMacro.enable": true } }三个参数各管一件事:
| 参数 | 作用 | 代价 |
|---|---|---|
cargo.buildScripts.enable | 让 rust-analyzer 先跑 build.rs,拿到正确的 cfg 和 feature 状态 | 启动变慢,首次分析要额外编译 |
check.command: "clippy" | 用 clippy 的 lint 规则做实时检查,比默认 check 更严格 | 每次改动占用的 CPU 更高 |
procMacro.enable | 展开 serde 这类 derive 宏,补全和跳转才准确 | 内存占用明显上升 |
如果项目里用了 build.rs 或者依赖里带 proc-macro 的 crate(比如 serde、tokio 的宏),buildScripts.enable不开会看到一堆「莫名其妙」的报错——其实是 rust-analyzer 没拿到构建脚本输出的 cfg 环境变量。而procMacro.enable在 8G 内存的机器上要慎重,开着的确爽,但折中的方案是先关掉,等需要查宏展开结果时再临时打开。
提示:不同版本的 rust-analyzer 对配置项的写法有差异。如果你在日志面板里看到
unknown setting之类的提示,把check.command换成旧版命名checkOnSave.command再试。这类版本兼容问题在 LSP 插件迭代里很常见,以日志面板的报错为准,别死磕网上教程。
如果想要保存时自动格式化,可以去 Preferences → Package Settings → LSP → Settings,把"lsp_format_on_save": true写进 User 一侧。它会调用 rust-analyzer 自带的 rustfmt 能力,等于把「写完代码 → 手动 cargo fmt」这件事省掉。
4.3 自定义 rust-check 构建系统:把报错接回 F4
LSP 负责编辑体验,真正的编译检查还是交给 cargo。Sublime Text 的构建系统(Build System)本质上是「把一条 shell 命令的结果按正则抓回面板」。默认的 Rust 构建系统配置太粗,我自己写了一个,保存路径是~/.config/sublime-text-4/Packages/User/rust-check.sublime-build:
{ "description": "cargo check", "shell_cmd": "cargo check --message-format=short", "working_dir": "${project_path}", "file_regex": "^(.*?):([0-9]+):([0-9]+):", "selector": "source.rust" }拆开讲每个字段。shell_cmd用cargo check而不是cargo build,因为 check 只做编译期检查不产出二进制,速度快得多;--message-format=short让 cargo 输出紧凑的文件名:行:列: 错误信息格式,省去彩色输出和分析噪音。working_dir设为${project_path},含义是「以当前项目根目录为工作目录」,这就要求你必须先用 Project → Save Project As 把 Cargo.toml 所在目录存成一个.sublime-project文件,直接打开单个.rs文件时这个变量是空的。file_regex是把 cargo 输出里的src/main.rs:12:3:这样的片段抓出来,变成可跳转的错误条目。selector让 Sublime 在打开.rs文件时自动选中这个构建系统。
配置完成后按 Ctrl+B 执行,面板下方会出现 cargo check 的输出。有错误时按 F4 跳到下一条、Shift+F4 跳上一条,光标直接定位到出错行列——这个体验和 IDE 的 Error List 已经没有本质区别。想跑起来看效果,就再复制一份改成cargo run的命令,保存成rust-run.sublime-build,在 Tools → Build System 菜单里切换。
4.4 大项目变卡:四个降载开关
Rust 项目大了之后,rust-analyzer 吃 1GB 到 2GB 内存是很正常的事,笔记本风扇会开始抗议。遇到这种时候,按「先降语义精度、再降界面负担」的顺序调整:
第一,把cargo.buildScripts.enable关掉。这是最省资源的一刀,代价是 build.rs 生成的 cfg 判断全部失效,代码里#[cfg(feature = "...")]的分支可能误报。第二,把check.command从clippy改回默认的check,clippy 的 lint 分析比普通检查贵不少。第三,关掉procMacro.enable,这是内存大户,尤其项目里 serde 用得多的场景。第四,在.sublime-project里把target目录排除掉,这样 Ctrl+P 的文件索引、文件夹侧边栏的刷新都不会去扫那一堆编译产物:
{ "folders": [ { "path": ".", "folder_exclude_patterns": ["target", "node_modules"] } ] }有一点要说明:folder_exclude_patterns排除 target 不会影响 rust-analyzer 的分析范围,因为它走的是 cargo metadata 而不是文件夹扫描;但它能让 Ctrl+P 的模糊匹配结果干净很多,也不用忍受侧边栏里上万个编译产物文件。这四个开关按需取舍,能扛住绝大多数中型 Rust 项目。
5. 避坑专项:Sublime Text 四个高频翻车现场与修复顺序
用 Sublime Text 的大多数崩溃不是软件崩了,而是配置、环境和来源这三个层面出了问题。下面四个场景是我见过最多的,按「现象 → 原因 → 解决」写清楚。
5.1 插件装上却搜不到:Package Control 与 ignored_packages
现象:执行了Package Control: Install Package,列表也出现了,选完插件后却看不到它的命令;或者命令面板里搜插件名完全没有结果。
原因:两种情况最常见。一是 Package Control 本身就没装成功,ST4 的Install Package Control命令执行时如果网络不通会静默失败,但界面不报错;二是插件确实装了,但在 User 配置的ignored_packages数组里被禁用了。这个数组的默认值里就有Vintage(Vim 模拟模式),如果你照着网上的配置抄,不小心把正在用的插件名加了进去,它就不会加载。
解决:先按 Ctrl+Shift+P 执行一次Package Control: List Packages,看列表里到底有没有目标插件。有但搜不到,就去 Preferences → Settings 里检查ignored_packages,把误加的插件名删掉。没有,则打开控制台(Ctrl+)重新执行Install Package Control`,盯着有没有报错输出。如果你是 Flatpak 版装的 Sublime,写入用户目录受限可能导致包一半没装完,直接换官方 deb 版最省时间。
5.2 中文输入法候选框不跟随与状态栏闪烁
现象:在 Sublime Text 里敲中文,候选框出现在屏幕左下角而不是光标附近;或者输入时光标附近的状态栏闪烁不停,选字还选不进去。
原因:Sublime Text 4 基于 GTK3 渲染,Linux 桌面的输入法框架(ibus 或 fcitx)需要对应的输入法模块才能和 GTK 程序协作。系统默认只给主流 GTK 应用配好了模块,Sublime Text 这种从仓库装的第三方程序经常漏掉。从软件管理器装的 Flatpak 版更严重,环境变量被沙箱隔离,输入法模块基本传不进去。
解决:先确认桌面用的是哪个框架,ps aux | grep -E 'ibus|fcitx'看一下。然后用对应的环境变量覆盖启动:
# 以 fcitx5 为例,写入 ~/.profile 或 ~/.xprofile 后注销重登 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx用 ibus 的把三行里的fcitx换成ibus。这里有个玄学经验:同样是这套变量,在 Cinnamon 桌面和 GNOME 上的表现经常不一样,所以别指望一次成功,注销重登是必须的。如果输入法已经不闪了但状态栏还在闪,那是显卡渲染的问题,用LIBGL_ALWAYS_SOFTWARE=1 subl启动一次对比就能确认。
5.3 打开几十 MB 大文件假死
现象:打开一个 50MB 的 JSON 日志,Sublime Text 转圈十几秒,滚动卡顿,极端情况下要强制杀掉进程。
原因:Sublime Text 读大文件本身用的是内存映射,并不慢,慢的是后续处理。JSON 语法高亮要逐层匹配嵌套结构,拼写检查要逐词扫描,括号匹配和自动补全还要维护一份索引,这些叠在一起才导致假死。换句话说,文件大不是主犯,高亮和检查才是。
解决:打开大文件后立刻按 Ctrl+Shift+P 输入Set Syntax: Plain Text,把语法切成纯文本,高亮开销直接降到零。日常就把 User 配置里的spell_check设为 false,让拼写检查这个后台负担彻底消失。大文件窗口把视图右侧的 Minimap(代码缩略图)也关掉,减少重绘压力。
这里给个边界:100MB 以内的文本文件,切纯文本后 Sublime Text 能流畅扛住;超过 200MB 的 CSV、日志,老实说应该换专用工具。编辑器不是垃圾桶,用less、grep或者数据库来处理超大文件,比强行让编辑器硬扛体面得多。
5.4 配置改乱想后悔:备份路径与 --safe-mode
现象:改完 Preferences 或键位文件后,Sublime Text 启动时选项异常、快捷键失灵,状态栏偶尔冒出Error trying to parse之类的提示。
原因:User 配置文件里 JSON 写错了一个逗号或括号。Sublime Text 对配置文件的容错策略是「整份拒绝」,不是你想象中「只忽略错误那一行」——所以一个小错误会导致你辛苦积累的几十项配置全部失效,界面回到默认状态,看起来像被重置了。
解决:先用命令行工具定位语法错误,比自己盯着看靠谱得多:
python3 -m json.tool ~/.config/sublime-text-4/Packages/User/Preferences.sublime-settingsjson.tool会指出第几行第几列出错。键位文件同样检查~/.config/sublime-text-4/Packages/User/Default.sublime-keymap和带平台后缀的变体(如Default (Linux).sublime-keymap)。真改不回来时,先备份再删:
# 先备份整个配置目录,再删除损坏文件让 ST 用默认重建 cp -r ~/.config/sublime-text-4 ~/sublime-backup-$(date +%F) rm ~/.config/sublime-text-4/Packages/User/Preferences.sublime-settings重启后 Sublime Text 会生成一份全新的 User 配置,你重新写一遍即可。排查第三方插件导致的崩溃用subl --safe-mode启动,它跳过所有第三方插件但保留 User 配置和项目状态,能快速区分「是插件的问题还是我配置的问题」。按这个顺序排查,能覆盖九成以上的配置翻车。
6. 把 subl 命令和 Git 接起来:项目级工作流的最后一环
6.1 subl 常用参数:打开、追加、恢复现场
命令行入口配上合适的参数,才是 Sublime Text 项目级工作流的完全体。subl .打开当前目录;subl -a file.rs把文件追加到已打开的窗口而不是新开一个;subl -n强制开新窗口;subl --project xxx.sublime-project则是最有用的一个——它能完整恢复某个项目的文件夹列表、侧边栏状态和上次打开的文件。我把常用项目配置存成一个.sublime-project文件丢在项目根目录,时间长了就形成了一个习惯:开工先subl --project恢复现场,而不是一个个文件重新打开。
6.2 用 subl --wait 接管 Git 提交信息
--wait参数让subl在命令行前台等待,直到你关闭指定文件才返回。这个行为和 Git 的提交信息编辑流程完美契合。在~/.bashrc里加一行:
export EDITOR="subl --wait"之后执行git commit,Git 会打开 Sublime Text 让你写提交信息,写完保存并关闭文件后,Git 自动继续完成提交。不想全局改的,临时用GIT_EDITOR="subl --wait" git commit也行。配合上一节的subl --project,我现在的 Rust 项目日常是这条链路:恢复项目现场 → 改代码 → Ctrl+B 跑 cargo check → F4 修错 → git add → git commit 弹出 Sublime 写提交信息 → 关闭文件收工。
这套组合用了两年多,最大的感受是风扇不转了、手不离键盘了。唯一一次后悔是第 2 章提到的:从软件管理器装了 Flatpak 版,subl命令不在 PATH 里,git 提交流直接断掉,浪费了我一个下午查原因。从那以后我只用官方 apt 仓库,版本跟得上,命令行入口也稳。希望帮到你。
本文还有配套的精品资源,点击获取