1. TOP
  2. editor
  3. SublimeTextの設定を同期させる

SublimeTextの設定を同期させる

Package Controlの挙動が変

macBook Proにインストールしたsublime Text の、Package Controlの挙動がおかしい事に気がついた。
Preferences > Package Control (cmd + shift + p) でコマンドパレットを呼び出し、Install Package にフォーカス&Enterを押したら、パッケージ一覧が表示されるはずなのに、何も起こらない。

Package Controlをインストールし直しても、何も変わらない。ステータスバーの左側で何やらこちょこちょ通信した後にパッケージ一覧が表示されるという、これまで当たり前だった動きがまったく起きない。検索しても、Package Controlがインストールされている状態でのこの症状については、何も出てこない。

原因究明をあきらめ、Sublime Text3の設定をきちんとやることで、強引に解決を図ることにした。

Package/Userフォルダだけを同期すればよいのだった

これまでは2台のMacと関西に残してきて長い間使ってないwindous7の間で、手動で設定を同期していた。

個人設定のjsonファイルである Preferences.sublime-settings と、自分でインストールしたプラグインのリストである Package Control(OSX).sublime-settings が入っている
Packages/User/ フォルダーだけでなく、Installed Packages/ フォルダも丸ごとバックアップして、いちいち手動でコピーするという面倒臭いことを(しかも確信なく)やっていた。

しかし、Bracketsをメインに使うようになったこの3年ほどは、Sublime Textの設定管理は放置状態になっていた。

これを機にSublimeTextもきちんと使い倒すため、設定同期について備忘録を残しておく。

macBook Airに入れた方は、vim風の操作ができるvintageモードもEmmetもきちんと動いているし、Package Controlの挙動も正常であることを確認した。こちらの設定を、Dropboxを介して同期することにした。

結論から言うと、同期するフォルダーは Packages/User だけでよい

適切な解決策は、Package Controlをすべてのマシンにインストールし、Packages / User /フォルダーのみを同期することです。 このフォルダーにはPackage Control.sublime-settingsファイルが含まれています。このファイルには、インストールされているすべてのパッケージのリストが含まれています。 このファイルが別のマシンにコピーされた場合、Sublime Textが次に起動されると、Package Controlは不足しているパッケージの正しいバージョンをインストールします。

https://packagecontrol.io/docs/syncing

UserフォルダをDropboxに移動させてシンボリックリンクを張る

具体的な作業手順は以下の通り。

Packages/User フォルダ本体を、Dropbox/SublimeText3 に移動させ、 ~/Library/Application Support/Sublime Text 3/Packages からシンボリックリンクを張る。

元のマシーン

cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
mkdir ~/Dropbox/SublimeText3
mv User ~/Dropbox/SublimeText3/
ln -s ~/Dropbox/Sublime/User

他のマシーン

cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
rm -r User
ln -s ~/Dropbox/SublimeText3/User .

ポイントは、Packages/User だけを同期するということ!  ただし、Packages/User フォルダを丸ごと「移動」させるので、作業の前にフォルダごとコピーして退避(バックアップ)させておくのも忘れずに!

また、プラグイン以外で個人的にSublimeTextに設定を施した場合についても、個人設定ファイルは普通Packages/User/に保存されます。従って、Packages/User/を同期すれば、すべての設定が同期されることになります。

https://ja.stackoverflow.com/questions/11877/sublime-text-3%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%82%84%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E4%BB%96%E3%81%AEpc%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%97%E3%81%9F%E3%81%84

自分でインストールしたプラグインの管理はどうなるん?と考えてしまうが、足りないプラグインがあっても、SublimeTextが次に起動した時に、Package Control.sublime-settings に従って、Package Controlが正しいバージョンのプラグインをインストールしてくれる。偉いな〜。

今更ながら、SublimeTextとも良い友達になろうと思います。