选中文字后按ctrl+b可直接生成url编码的百度搜索链接,因构建系统调用python3执行urllib.parse.quote对关键词编码后再拼接https://www.baidu.com/s?wd=,避免空格中文等导致搜索失败。

选中文字后直接生成带编码的百度搜索 URL,不用装插件、不依赖网络请求,靠 Sublime 自带构建系统就能稳定跑起来。
为什么 Ctrl+B 拼出来的链接搜不到关键词
常见错误是直接拼 https://www.baidu.com/s?wd=xxx,但空格、中文、括号这些字符没做 URL 编码,浏览器会截断或报错。比如选中 sublime plugin development,不编码就变成 wd=sublime plugin development,中间空格让百度只认到 sublime。
正确做法必须用 urllib.parse.quote 处理选区内容。Sublime 的构建系统支持 Python 脚本,所以能自动调用它。
- 新建构建系统:Preferences → Build System → New Build System
- 粘贴以下内容并保存为
SearchWithBaidu.sublime-build - 关键点:
"cmd": ["python3", "-c", "import urllib.parse,sys; print('https://www.baidu.com/s?wd=' + urllib.parse.quote(sys.argv[1]))", "$1"] - Windows 用户把
python3换成python,确保命令行能直接调用
选中后按 Ctrl+B 没反应?检查这三处
构建系统建好了,但快捷键无效,大概率卡在这几个地方:
- 没设为当前构建系统:右下角状态栏要显示
SearchWithBaidu,不是Automatic或其他名字 - 选区为空或只含空白符:Sublime 传给脚本的
$1是空字符串,结果生成https://www.baidu.com/s?wd=,浏览器打开后无搜索行为 - Python 环境未加入 PATH:终端里敲
python3 --version报 command not found,就得改构建配置里的解释器路径,比如/usr/local/bin/python3或C:\Python39\python.exe
想换搜索引擎?改 URL 就行,不用动逻辑
构建系统本质是拼 URL,换引擎只要改 https://www.baidu.com/s?wd= 这一段:
- Google:
https://www.google.com/search?q= - Bing:
https://www.bing.com/search?q= - GitHub code 搜索:
https://github.com/search?q=(注意 GitHub 对 URL 长度有限制,太长的选区会截断)
所有替换都保持 urllib.parse.quote($1) 不变,编码逻辑复用,不会漏掉特殊字符。
比插件更稳,但别指望它解析语义
这个方案只是纯文本编码+拼接,不识别变量名、不跳过注释、也不过滤字符串上下文。比如选中 JS 里的 "fetch",它照样编码引号和双引号——这是设计使然,不是 bug。真要智能过滤,得上 LSP 插件,但那就绕不开网络和语言服务器了。手动拼 URL 的轻量优势,恰恰在于“不猜你意图”,只忠实地把眼睛看到的字传出去。











