ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Remote​Subl

by randy3k ST3

Use rmate with Sublime Text, an improved fork of rsub.

Details

Installs

  • Total 23K
  • Win 8K
  • Mac 10K
  • Linux 5K
Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11
Windows 1 0 1 1 0 0 1 0 0 2 1 1 1 1 0 2 3 0 0 0 2 1 8 0 0 0 0 2 0 0 0 0 0 0 2 2 1 0 1 1 0 1 0 0 2 2
Mac 1 0 2 2 1 0 2 0 0 5 0 1 3 1 2 1 1 1 1 2 0 2 3 0 3 1 2 0 0 0 0 0 0 0 0 2 2 0 2 3 0 2 0 0 2 2
Linux 0 1 0 0 2 0 1 0 0 1 1 0 1 1 2 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 3 1

Readme

Source
raw.​githubusercontent.​com

RemoteSubl

RemoteSubl starts as a fork of rsub to bring rmate feature of TextMate to Sublime Text. It transfers files to be edited from remote server using SSH port forward and transfers the files back when they are saved.

Comparing to rsub, the followings are enhanced:

  • support multiple files via rmate foo bar.
  • use the same view when opening the same file twice.
  • notify when connection lost.
  • resume previous connection when it was lost.
  • better status bar messages when saving file and when encountering errors.
  • bring up Sublime Text on different platforms.
  • ability to set a custom color scheme.

Why a new fork? It seems that the author of rsub is not actively maintaining that package.

Installation

Before installing on your remote server, RemoteSubl can easily be installed using Package Control.

Once you have that completed, open up Sublime Text (the rest won't work unless you do).

On the remote server, we need to install rmate (this one is the bash version). You don't have to install it if you have been using rmate with TextMate or other editors. It is just the same executable. If not, it (the bash version) can be installed by running this script (assuming you have the right permission),

curl -o /usr/local/bin/rmate https://raw.githubusercontent.com/aurora/rmate/master/rmate
sudo chmod +x /usr/local/bin/rmate

You can also rename the command to rsubl

mv /usr/local/bin/rmate /usr/local/bin/rsubl

If your remote system does not have bash (so what else does it have?), there are different versions of rmate to choose from:

Usage

Open an ssh connection to the remote server with remote port forwarded. It can be done by executing the following command on your local machine:

ssh -R 52698:localhost:52698 user@example.com

After running the server, you can just open the file by typing the following command in your remote system's terminal:

rmate test.txt

(NOTE: you need to have opened Sublime Text on your local machine. If not you get this error: connect_to localhost port 52698: failed. on your server)

… or if you renamed it to rsubl then …

rsubl test.txt

If everything has been setup correctly, you should be able to see the opening file in Sublime Text.

SSH config

It could be tedious to type -R 52698:localhost:52698 everytime you ssh. To make your life easier, add the following to ~/.ssh/config,

Host example.com
    RemoteForward 52698 localhost:52698
    User user

From now on, you only have to do ssh example.com.

PuTTY config

Alternatively, if you're using PuTTY as your SSH client, before you connect to your host:

  1. Navigate to Connection > SSH > Tunnels in the left-hand navigation pane
  2. In the Add new forwarded port: section, add 52698 to Source port text field
  3. Then add localhost:52698 in the Destination text field
  4. Select Remote checkbox instead of Local
  5. Click Add to add your forwarding information to the Forwarded ports: list
  6. Save your settings if you'd like, and then connect to your remote host