如何在Sublime Text 3中打开远程文件

80

我正在使用“mRemoteNG”连接远程服务器,并希望在本地Sublime文本编辑器中打开远程服务器文件。在我的研究过程中,我发现了这篇相关的博客https://wrgms.com/editing-files-remotely-via-ssh-on-sublimetext-3/并按照说明操作,但是它对我不起作用。 有没有人知道如何在Sublime中打开远程文件?


我在这个网址https://dev59.com/j2Qo5IYBdhLWcg3wiv_A找到了答案。我实现了这个问题的第十个答案(winscp部分)。 - Raman Balyan
4个回答

193

在服务器上

安装 rsub:

wget -O /usr/local/bin/rsub \https://raw.github.com/aurora/rmate/master/rmate
chmod a+x /usr/local/bin/rsub

关于本地操作

  1. 安装rsub Sublime3插件:

在Sublime Text 3中,打开包管理器 (Linux/Win上按Ctrl-Shift-P,Mac上按Cmd-Shift-P, Install Package),搜索并安装rsub插件。

  1. 打开命令行并连接到远程服务器:

ssh -R 52698:localhost:52698 server_user@server_address

  1. 连接到服务器后,在服务器上运行以下命令:

rsub path_to_file/file.txt

  1. 文件将自动在Sublime 3中打开

自2018年9月5日起,您应该使用:https://github.com/randy3k/RemoteSubl。因为在packagecontrol.io上找不到“rsub”插件。


30
成功使其工作了,但这只适用于打开单个文件?是否有一种像在Sublime中使用subl *打开项目中所有目录和文件的方法? - ugotchi
3
完成最后一步后,在ST3上,文件不会自动打开。这里是否有我遗漏的东西? - qre0ct
8
你遇到了什么错误?连接本地主机的 52698 端口失败了吗? 如果是这样,你应该先打开“Sublime Text”,然后执行第三步。 - igauravsehrawat
4
RemoteForward 52698 127.0.0.1:52698加入本地机器的.ssh/config文件中,可以解决由端口转发导致的连接失败问题。 - Kelvin
2
我无法在服务器上安装任何东西,有其他解决方案吗? - Herman Toothrot
显示剩余12条评论

33
在 macOS 上,一种选择是安装 FUSE for macOS 并使用 sshfs 挂载远程目录:
mkdir local_dir
sshfs remote_user@remote_host:remote_dir/ local_dir

挂载网络卷时需要注意一些限制条件,因此结果可能会有所不同。


2
请问您能描述一下注意事项吗? - fersarr
5
@fersarr 我记不清在这个设置中遇到了哪些问题,但通常在使用网络挂载时可能会遇到以下问题:即使是中等网络连接, 也可能出现卡顿;编辑器无法监视文件的更改;处理网络中断问题。 - tuomassalo
1
这不仅限于 macOS。 - Adrien Leravat
2
这是最简单的答案...不需要任何subl插件...如果您正在运行Linux笔记本电脑,则无需安装FUSE,因为它已经内置了。 - Scott Stensland

14

这个更好。它不需要在服务器端进行任何安装。 - Shashwat
2
没有比只能通过sudo解决的问题更糟糕的了。我们是无需sudo的人!好的解决方案! - Tiago Bruno

1
基于 this
逐步执行:
  • On your local workstation: On Sublime Text 3, open Package Manager (Ctrl-Shift-P on Linux/Win, Cmd-Shift-P on Mac, Install Package), and search for rsub
  • On your local workstation: Add RemoteForward 52698 127.0.0.1:52698 to your .ssh/config file, or -R 52698:localhost:52698 if you prefer command line
  • On your remote server:

    sudo wget -O /usr/local/bin/rsub https://raw.github.com/aurora/rmate/master/rmate
    sudo chmod a+x /usr/local/bin/rsub
    
只需保持ST3编辑器打开,您就可以轻松地编辑远程文件。
rsub myfile.txt

编辑:如果出现“没有该文件或目录”的情况,那是因为您的/usr/local/bin不在您的PATH中。只需将该目录添加到您的路径即可:

echo "export PATH=\"$PATH:/usr/local/bin\"" >> $HOME/.bashrc

现在只需要注销,重新登录,你就可以完成所有设置。


1
有没有办法在远程机器上不使用Sudo权限来实现这个工作? - Kvothe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接