sftp插件映射目录是最稳的入门路径:安装插件→右键本地文件夹选map to remote→填写sftp-config.json中的host、user、remote_path,配置文件须置于项目根目录且命名准确,首次连接需确认主机指纹。

用 SFTP 插件映射目录是最稳的入门路径
Sublime Text 本身不支持远程编辑,SFTP 插件是目前最成熟、配置门槛最低的方案。它不依赖额外服务端进程,也不需要改 SSH 配置,只要能连上服务器就能用。
关键动作只有三步:安装插件 → 右键本地文件夹选 Map to Remote → 填写 sftp-config.json 中的 host、user、remote_path。其他字段如 port、connect_timeout 可先保持默认。
-
remote_path必须是绝对路径(如/var/www/html),不能以~开头或省略斜杠 - 若用密码登录,
password字段要加双引号;更推荐用ssh_key_file指向私钥(如"~/.ssh/id_rsa") - 配置文件必须放在项目根目录下,且命名为
sftp-config.json(不是.sftp-config或其他) - 首次连接会弹出主机指纹确认,点
Yes即可,之后自动记住
upload_on_save 不生效?先检查这三点
很多人配完发现保存没上传,不是插件坏了,而是同步机制没被触发。最常见原因就三个:
- 没在项目根目录下打开 Sublime ——
sftp-config.json必须被 Sublime 当作当前项目的一部分加载,单独打开某个文件不会读取它 -
upload_on_save写在了错误位置:它必须嵌套在"settings": { "sftp": { ... } }里,而不是平级或丢在"folders"下 - 文件不在
remote_path对应的本地子目录中 —— SFTP 只对“本地路径能映射到 remote_path 子路径”的文件生效,比如remote_path是/opt/app,那你得把文件放在./app/xxx.js才会同步,放在./tmp/xxx.js就不会
rsub 和 SFTP 别混着用
有人装了 rsub(RemoteSublime)又同时启用了 SFTP 的 upload_on_save,结果改完保存,文件被覆盖两次:一次是 rsub 直接写回远程,一次是 SFTP 把本地副本再上传。这不是 bug,是机制冲突。
-
rsub的本质是 SSH 反向端口转发:远程执行rsub /path/file,内容经52698端口传到本地 Sublime,保存即落盘到远程 —— 它根本不经过本地磁盘,sftp-config.json对它完全无效 -
rsub要求 SSH 连接时带-R 52698:localhost:52698,且远程rsub可执行(权限755),本地插件也得启用 - 如果只是偶尔打开单个配置文件,
rsub更轻量;如果是整站开发、频繁增删文件,SFTP的目录映射 + 自动同步更可靠
中文路径或文件名乱码?别碰编码设置
乱码通常不是 Sublime 编码问题,而是 SFTP 插件在传输层没正确声明字符集。Linux 服务器默认 locale 多为 en_US.UTF-8,但有些精简系统可能设成 C 或空值,导致文件名解码失败。
解决方法很简单,在服务器上运行:
echo 'export LANG=en_US.UTF-8' >> ~/.bashrc && source ~/.bashrc
然后重新 SSH 登录,再试 SFTP → Browse Server。不要在 sftp-config.json 里加 charset 或修改 Sublime 的 default_encoding,那只会让问题更隐蔽。
真正容易被忽略的是:SFTP 插件不会主动刷新远程文件列表。你用 git pull 或其他方式在服务器上改了文件,Sublime 侧边栏不会自动更新 —— 必须手动右键 → SFTP → Refresh,或者关掉再重开项目。











