sublime text原生无默认快捷键,需手动绑定copy_file_path命令;未保存文件、非编辑区焦点、命令名拼错(如copyfilepath)、macos误用ctrl+alt+c而非super+alt+c等均会导致ctrl+alt+c无反应。

Sublime Text 原生不带默认快捷键,必须手动绑定 copy_file_path 才能一键复制绝对路径;未保存的文件、插件临时视图、符号链接损坏都会导致复制为空——这不是快捷键问题,而是前提没满足。
为什么按 Ctrl+Alt+C 没反应?
常见原因不是快捷键错了,而是命令根本没触发条件:
- 当前标签页是
untitled(未保存),view.file_name()返回None,命令静默失效 - 焦点在侧边栏、控制台或 Git diff 预览页,
copy_file_path只作用于编辑区活动视图 - 快捷键配置里写成了
copyfilepath或CopyFilePath,正确命令名必须是全小写+下划线:copy_file_path - macOS 用户用了
ctrl+alt+c而不是super+alt+c(super= Cmd 键)
怎么正确绑定 copy_file_path 快捷键?
打开 Preferences → Key Bindings,在右侧用户配置中添加一行,格式必须严格:
[{"keys": ["ctrl+alt+c"], "command": "copy_file_path"}]
注意:
- Windows/Linux 推荐用
ctrl+alt+c;macOS 必须用super+alt+c,不能照搬 Windows 键位 - 别覆盖常用组合:避免用
ctrl+c这类已被占用的快捷键 - 改完不用重启 Sublime,但旧窗口需切换焦点或新开标签页才能识别新绑定
- 如果想同时支持复制文件名,得另装插件
CopyFileName,它默认也用ctrl+alt+c,会冲突——建议给它换一个,比如ctrl+alt+shift+c
copy_file_path 和 Copy Relative Path 到底有什么区别?
两者名字只差一个词,但行为和适用场景完全不同:
-
copy_file_path输出操作系统级绝对路径,如/home/user/project/src/main.py或C:\work\app\index.html,可直接粘贴进终端cd、文件管理器地址栏、调试参数 -
Copy Relative Path仅在已添加项目(Project → Add Folder to Project)时有效,输出的是相对于项目根目录的路径,如src/utils/helper.ts,适合写 import 或构建脚本,但粘贴到终端打不开 - 未添加项目时,
Copy Relative Path会返回空或报错;而copy_file_path不依赖项目配置,只要文件已保存就一定可用 - 符号链接会被解析为真实路径——这点容易被忽略,如果你复制后发现路径和预期不符,先检查是否在软链接目录里打开的文件
别指望右键菜单或标题栏“自动显示”
原生 Sublime 不支持右键当前标签页直接复制路径,SideBarEnhancements 插件的 Copy Path 只对侧边栏选中项生效,对编辑区当前文件无效。至于 show_full_path 设置:
- 仅 Sublime Text 4.41+(Build ≥ 4126)才支持,旧版加了也白加
- 必须写在
Settings – User(右侧面板),且 JSON 格式合法:{"show_full_path": true},true不能加引号 - 即使开启,也只在已保存的文件上显示,且多标签页下仅当前激活标签生效
- 某些 UI 插件(如
Origami)会劫持标题栏,导致路径不显示
真正跨应用可用的路径,永远来自 copy_file_path 命令——它不渲染、不提示、不依赖 UI 层,只做一件事:把磁盘上的真实路径塞进剪贴板。前提是,你已经按下了 Ctrl+S 或 Cmd+S。











