在 OS X 上,我经常需要编辑实际上存储在通过 VPN 上的 SSH 连接的远程 Linux 服务器上的文件。当我在服务器的物理位置时,我可以通过 sshfs 轻松挂载这些文件的目录并将它们拖到 Sublime Text 中。读取和写入文件几乎是即时的。
但是,当我通过 sshfs 挂载目录时适用于 OS X 的 FUSE,加载目录列表需要永远,当我将整个目录拉入 Sublime Text,然后保存文件时,保存会阻止整个 UI,直到文件最终保存在服务器上。*
我还尝试在 Cyberduck 中打开目录并从那里编辑文件。虽然保存效果很好(因为它是异步的),但这有两个缺点:我一次只能打开几个文件 - 而不是整个文件夹 - 因此无法轻松搜索文件(就像CmdT在 Sublime 中一样)。此外,有时它会失去连接,然后我必须退出并重新启动 Cyberduck 才能使其再次工作。
有没有办法以非阻塞方式从远程计算机编辑文件?也许通过调整 sshfs?以不同的方式挂载文件?
我真正想要的是当我保存文件时在后台传输文件,而无需文件系统等待。
* 这似乎是 Sublime Text 的一个已知问题,但实际上我不能使用任何其他编辑器。我发布了这个问题在他们的论坛上也一样。
答案1
如果你还没有尝试过,我强烈推荐发送。我还没有进行过直接的面对面测试,但我在使用各种 FUSE 选项时遇到了很多问题,自从我开始使用 Transmit 以来,这些问题几乎都消失了。它有一个很棒的用户界面,包括一个允许您挂载共享的小工具栏助手作为 OS X 卷无需启动完整程序即可轻松使用。您可以在购买前试用,但对我来说,购买是明智之举。是的,偶尔会有点慢,但我个人认为,对我来说,这更多地与我使用 OS X 时遇到的一些潜在问题有关,而不是与 Transmit 本身有关。
如果你是注册用户,你可以尝试最新版本Sublime Text 3 的版本,看看是否能有所改善。您可以尝试的另一个选项是设置
"atomic_save": false
在您的用户偏好设置 ( Sublime Text -> Preferences -> Settings - User
) 中,这样您只需通过 SSH 连接执行一次保存操作,而不是保存并移动。请注意,这是 Sublime Text 3 特有的功能。
最后,如果您想生成一份详细的错误报告,请打开一个问题在 GitHub/SublimeText/Issues 的非官方错误跟踪器上。这是一个社区支持的资源,ST 作者 Jon Skinner 可能会或可能不会咨询它,但它是提交错误的唯一地方,并且比论坛提供更好的跟踪功能。
答案2
这可能适用于您,也可能不适用于您,但我发现 GitGutter 插件是导致我的 sshfs 速度变慢的原因。