使用TextMate通过SSH编辑远程文件?

时间:2010-04-08 05:12:07

标签: macos textmate

我喜欢在我的MacBook上使用TextMate。太棒了。

不幸的是,我想直接在我的开发服务器上编辑一些文件,因为很难在本地重新创建环境。我正在使用Git,所以一种方法是只在本地编辑,git commit,git push,然后git merge,但每次我想做一个简单的更改时,这都很复杂。

我宁愿......使用其他解决方案。我试过的一件事是通过MacFusion安装硬盘,然后在编辑器中加载它。但那是如此诡异的迟滞/缓慢!

是否有人制定了更好的解决方案?

16 个答案:

答案 0 :(得分:38)

好的 - 这是适用于Mountain Lion的那个。

  1. 转到http://osxfuse.github.com/
  2. 为OS X安装FUSE
  3. 为OS X安装SSHFS
  4. 然后在您的终端上执行以下命令:
  5.   

    mkdir /Volumes/SSHFS

    /usr/local/bin/sshfs username@host:/path/to/dir /Volumes/SSHFS
    

    完成即可。

    我还建议使用另一个用户指出的ReMate插件,以防止每次重新聚焦时TextMate都会出现沙漏。链接:

    重新制作http://ciaranwal.sh/remate

答案 1 :(得分:11)

我使用Fetch和TextMate来完成这些任务。可以将Fetch设置为使用TextMate作为外​​部编辑器,甚至可以通过双击自动打开TextMate中的文件。

在TextMate中保存窗口会自动将文件推回服务器。当然,您必须在以后提交服务器上的更改。

我确信大多数Mac FTP客户端都可以这样做。

答案 2 :(得分:8)

最好的方法是使用TextMate的rmate脚本,点击链接,你会发现下面的说明,我推荐它,因为它会让你的生活更轻松,并处理所有的Nitty-Gritty。

答案 3 :(得分:5)

我正在使用TextWrangler的免费版本,它非常好用。我可以通过sftp加载和保存文件。

答案 4 :(得分:3)

正确的答案是使用sshfs并确保"执行原子保存"在Textmate首选项窗口中检查。设置sshfs的最简单方法是使用Macfusion。 http://macfusionapp.org/

答案 5 :(得分:1)

尝试其中一种方法。

请参阅:http://wiki.macromates.com/Main/FAQ#projects

还看看:

http://www.gnu.org/software/tramp/

答案 6 :(得分:1)

每次进行简单的更改时,您都不需要push; git是一个分布式版本控制系统,您commit到本地存储库进行小的更改。一旦完成功能/错误(或非常大的功能,完整的子功能),您应该只push到远程存储库。那么,假设你可以重建环境;显然你不能。

一个体面的文本编辑器可以与您喜欢的控件版本系统集成;如果您无法将编辑器配置为从编辑器中提交和推送,请获得一个不错的编辑器。

可以设置更好的编辑器,只需单击一下或按键即可保存,提交,推送,编译和运行程序。

答案 7 :(得分:1)

如果您无法 - 无论出于何种原因 - 在本地复制环境并仍想使用TextMate,则FTP客户端+ TextMate组合是我能想到的最佳解决方案。 MacFusion和所有其他类似的解决方案在纸上都很整洁,但非常慢。

如果你有足够的冒险精神和信心来放弃TextMate要求,终端中的SSH + Vim工作得非常好。

你是否肯定你无法在所有远程环境中复制?

答案 8 :(得分:1)

我知道这个问题已有几个答案,而且已经有一段时间了,但我还想指出DokanSSHFS - 这将使用SSH在您选择的服务器上创建目录位置的本地驱动器。然后,您可以使用您选择的编辑器编辑文件,就好像它们位于本地磁盘上一样。

答案 9 :(得分:1)

大多数提议的解决方案都以一种或另一种形式围绕sshfs。我尝试过这些解决方案,但我发现文件系统的可靠性并不总是如预期的那样好。

有一个名为rmate的工具,允许在文本配对中编辑远程文件。

使用ssh session中的命令编辑服务器上的文件:

rmate file_name

github上的自述文件提供了有关如何设置的简单说明。

答案 10 :(得分:0)

MacFusion是免费的 - 基本上是ssh-mounted目录。 http://macfusionapp.org/

传输4有一个类似的功能,它需要花费$$。

如果它看起来很慢,请尝试http://ciaranwal.sh/remate/,因为这会禁止textmate经常刷新文件列表。

答案 11 :(得分:0)

使用Fuse for OS X http://osxfuse.github.com和配套包,SSHFS(相同的URL)并安装它们。我也从那里安装了MacFUSE兼容库,只是为了好的措施。

然后,安装http://macfusionapp.org并按照此处的说明(https://github.com/osxfuse/osxfuse/wiki/SSHFS)配置macfusion以使用较新的库。

我无法通过密码进行身份验证,因此我设置了ssh密钥身份验证并使用了没有密码的macfusion。像魅力一样。

答案 12 :(得分:0)

如果您使用IDE,则可以设置到您的开发服务器的SSH隧道,并在您喜欢的IDE中编辑您的文件。在本地保存文件会自动推送开发服务器上的文件

P.S:我不赞同使用IDE

答案 13 :(得分:0)

你需要rmate它可以在你的本地机器上使用TextMate通过ssh编辑服务器上的文件。 Github link here

答案 14 :(得分:0)

rmate可能是另一种选择。在服务器端,键入rmate /path/to/file。该文件将被传输到本地计算机,在此您使用诸如Sublime Text或VS Code之类的编辑器(TexMate也可以工作)。要使用它,需要同时安装服务器和客户端。

对于服务器端,有几种不同语言的版本。选择一个您喜欢的。 Here是Github仓库。

据我所知,在本地计算机上,VS Code和Sublime Text具有扩展名以接收文件。有关VS代码,请参阅here。有关Sublime Text,请参阅here

另一方面,微软刚刚宣布了VS Code的正式远程编辑扩展(尚未发布)。

答案 15 :(得分:0)

对于那些没有ruby的远程计算机,或者如果bash没有使用/ dev / tcp编译但具有python的远程计算机,则可以使用:https://github.com/scriptmaster/rmate-python

如果您有点子: pip install rmate

或简单地:

wget https://raw.githubusercontent.com/scriptmaster/rmate-python/master/bin/rmate
chmod +x ./rmate
mv ./rmate /usr/local/bin/rmate

然后rmate /path/to/file

尤其是如果您位于有限制(仅python和docker)的容器化操作系统中,例如kubernetes-vm或gce-vm

您不需要vs-code-server,atom-editor,