概要

Sublime Text 4 の設定同期の話をするぜー。

6年目の記事↓の頃は、複数デバイス間でユーザ設定を同期するために、 Sync Settings をまだ使っていたな。

Sync Settings パッケージは、すでに UNMAINTAINED 状態だ。これまでの働きに感謝して、次は公式で推奨されている方法を使おう。

 

公式で推奨されている方法

っていうのはこれ↓のことだ。公式の Syncing ページ。

To properly sync your installed packages across different machines, you actually do not want to sync the whole Packages/ and Installed Packages/ folders.

The proper solution is to install Package Control on all machines and then to sync only the Packages/User/ folder. This folder contains the Package Control.sublime-settings file, which includes a list of all installed packages.

 

こんな戦略でいく

  • Packages/User フォルダを、まるごとクラウドへ移動
  • 実際の Packages/User には、これ↑のシンボリックリンクを置く
  • 公式ドキュメントには、 “Installed Packages フォルダを同期するなや” とあるが、諸事情により Package Control とカラーテーマについては同期させてもらう
    • 諸事情1: Sublime Text 4 の Package Control はバグってやがるので。自分で用意した Package Control.sublime-package を使う必要がある
    • 諸事情2: Package Control でインストールできるカラーテーマを使っているので、そのテーマがユーザ設定に書いてあるのだ。 “そんなテーマインストールされてないぞ” と Sublime がエラーを出しまくる前に、カラーテーマ Theme - Nexus.sublime-package が必要だ

 

新しいデバイスで Sublime を使い始めるときにやること

ぼくは、デバイスをクリーンインストールするたびに、これ↓を流して設定を同期している。

# まず Sublime を開く。 ($SUBLIME_APP_FOLDER ができる)
# ちなみに Sublime Text 3 では、 Sublime Text/Packages/User ではなく
# Sublime Text 3/Packages/User である。注意。
SUBLIME_APP_FOLDER="$HOME/Library/Application Support/Sublime Text"

# SublimeTextUserSettings を置いているフォルダまで移動する。

# SublimeTextUserSettings と Packages/User/ をシンボリックリンクで接続。
CURRENT_PATH=$(pwd)
rm -r "$SUBLIME_APP_FOLDER/Packages/User"
ln -sf "$CURRENT_PATH/SublimeTextUserSettings" "$SUBLIME_APP_FOLDER/Packages/User"

# Package Control と Theme - Nexus を自分でインストール。
# Package Control: デフォルトの Package Control は壊れているので、ちゃんと動くものを取得してる。
#                  https://github.com/wbond/package_control/issues/1612
#                  https://qiita.com/Cova8bitdot/items/c09f6b3401fa8a0915e6
cp "$CURRENT_PATH/Package Control.sublime-package" "$SUBLIME_APP_FOLDER/Installed Packages/Package Control.sublime-package"
# UserSettings に Nexus が書いてあるんだけど、そもそも Nexus インストール前だとエラーになっちゃうので、これは先に入れとく。
cp "$CURRENT_PATH/Theme - Nexus.sublime-package" "$SUBLIME_APP_FOLDER/Installed Packages/Theme - Nexus.sublime-package"

# もう一度 Sublime を開く。 (Installed Packages の中に、 packages がインストールされていく)

こんなところだ。