如何在SSH上使用Sublime

thu*_*ief 233 ssh sublimetext2

当我通过SSH连接到我的工作服务器时,我正在尝试使用Sublime Text 2作为编辑器,我很难过.我发现这个http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/(在许多其他帖子中)看起来可能有所帮助,但我并没有完全遵循它,特别是我应该为第5行中的远程变量添加什么值.我将"/ Users/path/to/local/copy"设置为我的本地根目录,但我不知道这是否正确或是否有更多去做.有什么想法吗?我在OSX10.8上

Mik*_*maa 157

有三种方式:

此外,理论上,您可以在远程服务器上安装X11并通过VNC或X11转发在那里运行Sublime,但是没有必要这样做.

  • SSHFS/osxfuse组合为我工作!谢谢.对于有此问题的其他人:https://github.com/osxfuse/osxfuse/wiki/SSHFS (11认同)
  • 为什么X11转发没有意义 (6认同)

ubi*_*bik 99

你可以使用rsub,它受到TextMate的启发rmate.从描述:

Rsub是Sublime Text 2的TextMate 2'rmate'功能的实现,允许使用SSH端口转发/隧道在远程服务器上编辑文件.

这是一个关于如何正确设置它的好教程.

  • 请标记此答案而不是第一个答案,因为这是免费的 (6认同)
  • 教程上的链接已失效,Sublime Text 3 的等效链接是否仍然存在?如果这个答案可以更新就太好了。 (4认同)
  • 我也同意让rsub工作很快,并允许sudo,这很棒.我遇到了一些问题,让它正常工作,但也有答案:http://stackoverflow.com/questions/18938950/rsub-with-sublime-and-ssh-connection-refusual (2认同)

Car*_*arl 66

我在Windows上并使用了4种方法:Linux上的SFTP,WinSCP,UnisonSublime Text以及通过SSH转发到Windows的X11(是的,你可以在没有混乱的配置和使用免费工具的情况下执行此操作).

如果您可以在Linux机器上安装软件,第四种方法是最好的.

第四种方式:

MobaXterm

  1. 在Windows上安装MobaXterm
  2. 从MobaXterm SSH到您的Linux机器
  3. 在你的Linux机器上,安装Sublime Text 3.这是如何在Ubuntu上
  4. 在命令提示符下,使用启动sublime subl
  5. 而已!您现在可以在Linux上运行sublime文本,但其窗口在Windows桌面上运行.这是可能的,因为MobaXterm为您处理通过SSH的X11转发,因此您无需做任何有趣的事情来实现它.可能会有少量延迟,但您的文件永远不会不同步,因为您正在Linux机器上对它们进行编辑.

注意:如果它抱怨某个库,则调用subl时 - 确保安装它们以成功从mobaxterm调用sublimetext.

如果您无法在Linux机器上安装软件,那么最好的是Unison.为什么?

  • 免费
  • 它很快
  • 它是可靠的,并不关心您使用哪种编辑器
  • 您可以创建自定义忽略列表

SFTP

设置:安装SFTP Sublime Text包.此包需要许可证.

  1. 新建一个文件夹
  2. 将其作为Sublime Text Project打开.
  3. 在侧栏中,右键单击文件夹并选择Map Remote.
  4. 编辑sftp-config.json文件
  5. 右键单击步骤1中的文件夹选择下载.
  6. 在当地工作.

在sftp-config中,我通常设置:

"upload_on_save": true,
"sync_down_on_open": true,
Run Code Online (Sandbox Code Playgroud)

这个,除了机器的SSH终端外,还给我一个相当无缝的远程编辑体验.

WinSCP赋予

  1. 安装并运行WinSCP
  2. 转到首选项(Ctrl + Alt + P)并单击"传输",然后单击"添加".命名预设.
  3. 将传输模式设置为二进制(您不希望行转换)
  4. 将文件修改设置为"无更改"
  5. 单击"文件掩码"旁边的"编辑"按钮,然后设置包含和排除文件和文件夹(对于存在.git/.svn文件夹或者要排除构建产品的同步时非常有用).
  6. 单击确定
  7. 连接到远程服务器并导航到感兴趣的文件夹
  8. 在本地计算机上选择一个空文件夹.
  9. 选择新创建的传输设置预设.
  10. 最后,按Ctrl + U(命令>使远程目录保持最新)并确保选中"启动时同步"和"更新子目录".

从那时起,WinSCP将保持您的更改同步.

使用SublimeText在本地文件夹中工作.只需确保将Sublime Text设置为从正在编辑的文件中猜测行结尾.

齐奏

我发现如果源代码树很大(大约几百MB,层次结构很深),那么上面描述的WinSCP方法可能会有点慢.使用Unison可以获得更好的性能.缺点是Unison不是自动的(您需要通过按键触发它)并且需要在Linux机器上运行服务器组件.好的一面是传输速度非常快,非常可靠,忽略文件,文件夹和扩展程序非常容易设置.

  • 链接到sublime SFTP设置:http://wbond.net/sublime_packages/sftp/installation (2认同)

use*_*584 32

作为@ ubik的答案的后续内容,以下是在您的远程服务器上运行'subl'命令的三个简单(一次性)步骤:

  1. [ Local ] rsub使用Sublime Package Manager在Sublime Text中安装软件包
  2. [ Local ]执行以下Bash命令(这将设置一个SSH隧道,这是rsub的秘密酱):

    printf "Host *\n    RemoteForward 52698 127.0.0.1:52698" >> ~/.ssh/config
    
    Run Code Online (Sandbox Code Playgroud)
  3. [ 服务器 ]在远程服务器上执行以下Bash命令(这将安装'subl'hell命令):

    sudo wget -O /usr/local/bin/subl https://raw.github.com/aurora/rmate/master/rmate; sudo chmod +x /usr/local/bin/subl
    
    Run Code Online (Sandbox Code Playgroud)

瞧!您现在通过SSH使用Sublime Text.

你可以在服务器上用Sublime Text打开一个示例文件 subl ~/test.txt


biz*_*izi 10

我在MaxOS上,对我来说最方便的方法是使用免费的Cyber​​Duck(也适用于Windows).您可以使用本地编辑器连接到远程SSH文件系统并编辑文件.Cyber​​Duck所做的是将文件下载到本地操作系统上的临时位置,然后使用编辑器打开它.保存文件后,Cyber​​Duck会自动将其上传到您的远程系统.它似乎是透明的,就像您使用本地编辑器编辑远程文件一样.


小智 8

你可以尝试一些我一直在做的事情叫做' xeno '.它允许您通过SSH连接在Sublime Text(或任何本地编辑器)中打开文件/文件夹,并自动将更改同步到远程计算机.它应该适用于几乎所有POSIX系统(我自己从OS X使用它连接到Linux机器并编辑Sublime Text中的文件).它是免费和开源的.我喜欢一些反馈.

有关更多信息:它基本上是一个用Python编写的Git/SSH mashup,允许您在本地编辑器中编辑远程计算机上的文件和文件夹.您不必配置内核模块,您不需要具有持久连接,它是全自动的,并且它不会干扰现有的源代码控制,因为它使用的是非工作树的Git存储库.此外,因为它是基于Git构建的,所以它非常快并且支持自动合并可能在两端都有变化的文件,这与SSHFS/SFTP不同,后者只会破坏具有较旧时间戳的任何文件.


dgo*_*dgo 5

我知道这已经过时了,但我有一个非常酷的方式来做这个值得分享.

ConemuWinSCP需要什么.这些都是简单的说明

  1. 打开WinSCP.exe并登录到我想要的远程服务器(我
    发现在连接之前登录很重要...).

  2. 在WinSCP的首选项中 - 要更改的两个设置.选择资源管理器类型界面而不是Commander - 所以你看不到本地文件.除非你想(但这似乎会在这里吮吸).将Sublime设置为默认编辑器.

  3. 打开ConEmu后,右键单击选项卡栏并选择选项Attach to....将打开一个对话框,其中包含正在运行的应用 选择,WinSCP并选择确定.ConEmu现在将有一个打开的选项卡,WinSCP显示您的远程文件.

  4. 右键单击WinSCP选项卡并选择New console....对话框打开后,输入系统上Sublime可执行文件的路径.在按下之前Start,在New console split选择单选按钮to right并设置百分比的框中.我通常选择75%,但您可以根据自己的喜好自定义,并且可以在以后更改.

    1. 现在,您将在WinSCP右侧的同一窗口中看到Sublime.在Sublime中,从View菜单中选择Sidebar->Hide Sidebar和bam,你现在拥有与本地完全相同的远程文件 - 当然有一些警告可以远程编辑任何东西.尽管WinSCP正在快速复苏.

我有两个显示器 - 左显示器显示器的Chrome浏览器,右显示器显示代码编辑器.另外ConEmu,我在我正在处理的网站上创建了另一个选项卡和ssh,因此我可以执行诸如运行gulpgrunt远程操作以及操作命令行中的文件.认真加快发展.

这是一个截图:

设置截图


Dav*_*wii 5

您可以使用sftp将远程目录挂载到定位计算机上,然后以通常的方式使用Sublime文本打开文件。

要使用sftp挂载远程目录,请在Linux文件管理器上输入以下内容:

sftp://user@remote_box.com:22/home/user/code_directory
Run Code Online (Sandbox Code Playgroud)

根据您的互联网速度,它可能看起来很慢。但这对我有用。


Sco*_*and 5

这是本地编辑生活在远程主机上的文件的最简单方法,您之前已将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
Run Code Online (Sandbox Code Playgroud)

完成!!!

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

subl /your/local/dir/magnum_opus.go # local file edit using sublime text
Run Code Online (Sandbox Code Playgroud)

所以上面实际上正在编辑远程文件

/your/remote/dir/magnum_opus.go  # remote file on box $REMOTE_IP
Run Code Online (Sandbox Code Playgroud)

对于OSX或Windows,请看数字海洋上的那些人