SublimeText3使い始めてみました。

Atomも使ってみたけど、ちょっと重いよね。

Sublime Textはマルチプラットフォームかつ軽いんであちこちのPCで使えそうです。

そこでやりたくなるのが設定の同期。

やり方はいろいろあるようですが、こちらを参考にGitで同期してみます。

DropBox+シンボリックリンクが一番お手軽そうですが、職場でDropBoxがNGなのと、バージョン管理もしといたほうが良いかなってことでGit。

対象環境は

Sublime Text 3 + Package Control

です。

あとgit

ローカルGitレポジトリ(共有元)

共有元となる設定は、もろもろの事情でWindowsのものを使います。

参考サイトによると、

”Certain files and folders in the Packages/User/ folder change regularly, so you may want to add them to a .gitignore file. ”

てことで、「”Packages/User/”以下にいろいろ入るよ」、「.gitignore作れよ」とありますね。

“Packages/User/”はうちのwindowsでは ”C:\Users_username_\AppData\Roaming\Sublime Text 3\Packages\User”でした。

.gitignoreも参考サイトをパクリます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
> cd /d "C:\Users\<i>username</i>\AppData\Roaming\Sublime Text 3\Packages\User"
\User>type .gitignore
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
\User>git init
Initialized empty Git repository in C:/Users/<i>username</i>/AppData/Roaming/Sublime Text 3/Packages/User/.git/
\User>git config --local user.name "ゆーざーめい"
\User>git config --local user.email "めあど"
\User>git add .
\User>git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   .gitignore
#       new file:   Package Control.sublime-settings
#       new file:   Preferences.sublime-settings
#
\User>git commit -am "Init"

リモートGitレポジトリ

レポジトリをどこに用意するかなんですが、

“If you use a service like GitHub and do not use a private repository, you may accidentally share license keys for any commercial packages you have purchased.”

とありますんで、どうやらプライベートレポジトリが望ましい様です。

てことで、Bitbucketにアカウントを作り、レポジトリを作成します。

レポジトリは名前だけ入れて後はそのままにしました。

空のレポジトリが作成され、セットアップページ的なものが表示されます。

ページ中ほど[Command line]->[I have an existing project]にコマンドが書かれているので、ローカルGitレポジトリでそのまま実行します。

1
2
\User>git remote add origin https://<em>username</em>@bitbucket.org/<em>username</em>/sublime-setting.git
\User>git push -u origin --all

2台目以降への設定読み込み

Windows

共有先に設定をクローンします。

この時Userフォルダを上書きするように指定します。

既存の環境がある場合はバックアップを取っといたほうが無難です。

1
2
>cd /d "C:\Users\<em>username</em>\AppData\Roaming\Sublime Text 3\Packages\"
\Packages>git clone https://<em>username</em>@bitbucket.org/<em>username</em>/sublime-setting.git User

sublimeを立ち上げると足らないパケージもインストールされるみたいです。

Mac

基本Windowsといっしょです。

Macでの設定は~/Library/Application\ Support/Sublime\ Text\ 3/Packages/にあるようです。

1
Mac ~$ cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/

変更

なにかしら設定変更したら、プッシュします。

1
2
\User>git commit -am "add ConvertToUTF8"
\User>git push

変更後のその他の端末での同期

gitの使い方そのままですが、pullで同期です。

1
\User>git pull

Preferences.sublime-settingsに書かれる、ユーザー設定は即座に反映されるようです。

Package ControlのパッケージはSublime再起動が必要っぽい感じです。

。。。めんどくさいですね。プラグインで何とかならないんでしょうか?