Sublime Text 可通过自定义构建系统快速生成编码后的百度搜索 URL:选中文本后按 Ctrl+B/Cmd+B,用 Python 的 urllib.parse.quote 自动编码并拼接 https://www.baidu.com/s?wd=,避免插件不编码导致的搜索失败。

用 Sublime Text 快速生成带关键词的百度搜索 URL
不需要插件,纯快捷键 + 正则替换就能实现。核心是把选中文本自动拼进 https://www.baidu.com/s?wd= 后面,并做 URL 编码。
- 选中要搜索的词(比如
sublime plugin development),按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)调出命令面板 - 输入
Replace,选中Replace: Replace All,在查找框填:^.*$,替换为:https://www.baidu.com/s?wd=$1—— 这只是占位,真正要用的是下面这个更稳妥的方式 - 更推荐:直接新建一个
sublime-build构建系统,类型设为shell,用python -c做编码和拼接(见下节)
写一个 Python 构建系统来生成编码后的百度链接
Sublime 的构建系统能接收选中文本、执行命令、输出结果。用 Python 一行命令即可完成 URL 编码和拼接,比手动转义可靠得多。
- 菜单栏 →
Tools→Build System→New Build System… - 替换全部内容为以下代码(注意保存时后缀必须是
.sublime-build):
{
"shell_cmd": "python -c \"import sys, urllib.parse; print('https://www.baidu.com/s?wd=' + urllib.parse.quote(sys.argv[1]))\" \"$SELECTION\"",
"selector": "text.plain",
"file_regex": "",
"working_dir": "$file_path"
}
-
$SELECTION是 Sublime 提供的变量,代表当前选中文本;urllib.parse.quote确保空格、中文、标点都被正确编码(比如hello 世界→hello+%E4%B8%96%E7%95%8C) - 保存为
BaiduSearch.sublime-build,然后在Tools → Build System中选中它 - 之后只要选中文本,按
Ctrl+B(Windows/Linux)或Cmd+B(macOS),结果就直接输出在底部面板里,可复制使用
为什么不用 PackageControl 上的 SearchInGoogle 类插件
这类插件多数默认跳转浏览器,不生成链接;少数支持复制 URL 的,又常忽略中文编码或 URL 特殊字符(如 &、=),导致粘贴后搜索失败。
- 例如插件把
foo & bar直接拼成https://www.baidu.com/s?wd=foo & bar,浏览器会截断为wd=foo,丢掉后面部分 - 原生构建系统可控性强:你可以随时改
https://www.baidu.com为https://www.google.com/search?q=或其他搜索引擎 - 不依赖插件更新节奏,也不受 Sublime 版本升级影响(比如 Sublime Text 4 移除了部分旧 API,很多老插件已失效)
Mac 上 Python 路径不对?或者提示 ModuleNotFoundError: No module named 'urllib'
说明 Sublime 调用的是系统自带的 Python 2(macOS 10.15+ 已移除),而 urllib.parse 是 Python 3 模块。
- 打开终端,运行
which python3,得到类似/opt/homebrew/bin/python3的路径 - 把构建系统里的
python替换为完整路径,例如:/opt/homebrew/bin/python3 -c \"...\" - 或者更通用:用
#!/usr/bin/env python3写个脚本再调用,但对单行需求来说,硬编码路径最直白 - 别试图用
python -m urllib.parse—— 它不接受参数,无法完成拼接
URL 编码这一步绕不开,漏掉就等于埋雷:看似生成了链接,点开却搜不到东西,问题还不好排查。









