I'm trying to use Sublime Text 2 as an editor when I SSH in to my work server, and I'm stumped. I found this http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (among many other posts) that looks like it might help, but I don't follow it exactly, particularly with what values I should put in for the remote variable in line 5. I set "/Users/path/to/local/copy" to my local root directory, but I don't know if that's right or if there's more to do. Any thoughts? I'm on OSX10.8


当前回答

这是本地编辑远程主机上的文件的最简单的方法,您之前已经设置了ssh到远程IP

# issue on local box

sudo apt-get install sshfs   # on local host install sshfs ( linux )

# on local box create secure mount of remote directory

export REMOTE_IP=107.170.58.249 # remote host IP

sshfs myremoteuserid@${REMOTE_IP}:/your/remote/dir  /your/local/dir # for example

完成了! !

现在在本地主机上开始编辑文件…当你在本地列出目录时,它可能不会列出任何东西,直到你CD到子目录或列出一个特定的文件…延迟加载…这不会影响编辑文件

subl /your/local/dir/magnum_opus.go # local file edit using sublime text

上面是编辑远程文件

/your/remote/dir/magnum_opus.go  # remote file on box $REMOTE_IP

对于OSX或Windows,可以在数字海洋上看到这个来自好心的人的啧啧声

其他回答

您可以使用rsub,它的灵感来自TextMate的rate。从描述来看:

Rsub是Sublime Text 2的TextMate 2的“rate”特性的实现,允许使用SSH端口转发/隧道在远程服务器上编辑文件。

这里有一个关于如何正确设置它的好教程:(断开链接)http://log.liminastudio.com/writing/tutorials/sublime-tunnel-of-love-how-to-edit-remote-files-with-sublime-text-via-an-ssh-tunnel

Lsyncd似乎是SSHFS方法的一个不错的替代方案。如果你使用“-delay 0”,它可以实时工作。

作为@ubik回答的后续,以下是让“subl”命令在远程服务器上工作的三个简单(一次性)步骤:

使用Sublime包管理器在Sublime Text中安装rsub包 [Local]执行以下Bash命令(这将建立一个SSH隧道,这是rsub的秘密武器): printf "Host *\n RemoteForward 52698 127.0.0.1:52698" >> ~/.ssh/config 在远程服务器上执行以下Bash命令(这将安装subl shell命令): sudo wget -O /usr/local/bin/subl https://raw.github.com/aurora/rmate/master/rmate Sudo chmod +x /usr/local/bin/subl

瞧!你现在在SSH上使用Sublime Text。

你可以从服务器上用subl ~/test.txt打开Sublime Text中的示例文件

使用FileZilla

这适用于Mac和Windows用户(我在Mac上使用)。多年来,我使用了列出的几个答案,发现FileZilla很适合我在有SSH访问权限的远程主机上编辑文件时的需求。它的设置也很快。

我配置一个新的服务器连接 连接到服务器 右键点击我想编辑的文件,选择查看/编辑。

这会打开我的默认编辑器(Sublime),但它可以与任何编辑器一起工作 已安装的编辑器。

一旦我保存了文件,Filezilla会自动提示我是否要“将该文件上传到服务器”,我点击“是”,然后它就更新了。

我一直在做一个叫GitSync的项目。它仍然需要一些改进,但它是开源的,我已经每天都在使用它好几年了。我还在开发一个原生OS X版本,我称之为GitSyncApp

现在它只支持OS X,但是它应该很容易添加对Linux的支持,可能也支持Windows。

它通过监视文件系统事件来工作,并使用git来同步本地机器和服务器上的项目文件夹。

我尝试了其他解决方案,如osx保险丝,扩展驱动器,传输,几个解决方案,使用rsync等。它们在小型项目中都能正常工作,但如果你要处理大量代码,它们就不适合我了。

许多文件系统选项都进行缓存以提高性能,这很好,但事实并非如此。比如,如果你和其他人一起工作,而其他人更改了服务器上的文件。

如果我在一个脆弱或缓慢的网络上,我也会遇到问题,最终会得到空文件。或者文件没有同步,缓存就会变得奇怪;希望你最近做过。使用git解决了这个问题,因为它检查每个提交的完整性。

两个额外功能:

每次保存都要提交一次。它不是特别有用,但如果你需要回到过去,你可以。 它适用于任何文本编辑器。