ひろこま Hack Log

プログラミングや機械学習などの知識を記録・共有します

Sublime Textでリモートサーバ上の複数ファイルを編集する方法

f:id:twx:20191003112733p:plain
Sublime Textでリモートサーバ上のファイルを編集する方法

rsub を使おう

サーバ側でもSublime Textを使いたいと思ったことはありませんか?

私は、普段はローカルのSublime Textでコードを書き、開発が一段落したタイミングでサーバにプッシュするという開発スタイルでやっています。しかし、サーバ側でちょこちょこっと編集したいときもあります。そのとき、 vim だと痒いところに手が届かない( vim を使いこなせてないだけかもですが)ことが多く、サーバ側でもSublime Textを使いたいなーと思っていました。

色々探すと、以下のような記事を見つけました。

https://stackoverflow.com/questions/37458814/how-to-open-remote-files-in-sublime-text-3

rsubを導入することでSublime Textでリモートサーバ上のファイルを編集できるようになるとのこと。

手順は以下のとおりです。

サーバ側での作業

rsubのインストール:

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

ローカル側での作業

  1. Sublime3にrsubパッケージをインストール :

Sublime Text 3上で「Package Manager」→「 Install Package」→ rsub を探しインストール

  1. sshでサーバにログイン( -Rオプションを付けること)
ssh -R 52698:localhost:52698 server_user@server_address
  1. Sublime Textで開きたいファイルに対して rsub コマンドを実行
rsub path_to_file/file.txt

これで、ローカル側のSublimeが開き、編集可能になります。 ファイルを保存すると、サーバ側のファイルも書き換わります。

注意点としては

・上記の3実行時の前に、ローカル側で Sublime を立ち上げた状態にしておく

・上記の3実行時に、 rsub path_to/* としても一度に複数のファイルを開けない

という点でしょうか。

一度に複数のファイルを開けないのは結構困ります。

私は以下のように find コマンドと組み合わせて rsub を複数回実行することで rsub path_to/* の代替手段としています。

find path_to -name *.py | xargs -l rsub

これで、パスが path_to/*.py に合致するファイルを全てSublime Textで開けます。

以上、本日はSublime Textでリモートサーバ上の複数ファイルを編集する方法をご紹介しました。

良い記事だと思っていただいた方は、以下の「★+」ボタンのクリック、SNSでのシェア、「読者になる」ボタンのクリック、Twitterのフォローをお願いします!

Koma Hirokazu 's Hacklog ―― Copyright © 2018 Koma Hirokazu