MacのSublimeTextでSublimeMozcInputを使った日本語入力を実現する


[SublimeMozcInput](http://yasuyuky.github.io/SublimeMozcInput/)に関して
以下のようなフィードバックをいただきました。

<blockquote class="twitter-tweet" data-conversation="none" lang="en"><p><a href="https://twitter.com/yamaday">@yamaday</a> はじめまして。SublimeMozcInputとっても便利です！macでも使いたいのですがうまくいきません。設定方法を教えていただけないでしょうか。私の環境を次にまとめました。<a href="http://t.co/7EVzIPnlwt">http://t.co/7EVzIPnlwt</a> お返事いただけると助かります。</p>&mdash; seitaro (@fool_hiziri) <a href="https://twitter.com/fool_hiziri/status/569636475823742976">February 22, 2015</a></blockquote> 

確かにMacのSublimeTextの日本語入力はタブでの補完が干渉するため
キーバインドを弄ったりしなきゃいけなかったり色々つらみがあります。

SublimeMozcInputは基本的にLinux向けパッケージですが
VagrantなどをつかえばMacで（おそらくWindowsでも）使うことは可能です。
（かなり富豪的アプローチですが）

以下、最低限の知識としてターミナルぐらいは使えることを前提としてます。

### 追記

以下の記事を参考にmozcを直接Macにインストールできるならば

http://qiita.com/scalper/items/a1ab77ae7b2b06fb3f49

インストールされた`mozc_emacs_helper`のパスを指定するだけで動くようです、、、


## Vagrantのインストール

[Vagrant公式](https://www.vagrantup.com)からダウンロードして
インストーラでインストールすればいいと思います。

参考
http://qiita.com/search?sort=rel&q=vagrant+mac
http://qiita.com/search?sort=rel&q=vagrant+windows

インストールが出来たらあとはターミナルで作業します

## VagrantBoxを選んでダウンロードしておく

こだわりがないならば最新のubuntuでいいのではと思います

```bash
vagrant box add ubuntu/trusty64
```

以下emacs-mozcのインストールは`ubuntu/trusty64`を前提とします。

## Vagrantで仮想マシンを起動

今回は以下のようにディレクトリを作りvagrantを立ち上げました。

```bash
mkdir -p ~/vagrant/ubuntu-mozc
cd ~/vagrant/ubuntu-mozc
vagrant init ubuntu/trusty64
vagrant up
```

## Vagrant内のイメージにemacs-mozcをインストールする

### 仮想マシンに接続

先ほどのディレクトリで以下のように入力すれば仮想マシンに接続できます。

```bash
vagrant ssh
```

以下よりvagrant内での作業です。

### 仮想マシンにemacs-mozcをインストールする

```bash
$ sudo apt-get update
$ sudo apt-get install emacs-mozc
```

#### インストール確認

以下のコマンドを入力してS式が帰ってくることを確認します。
（入力待ちになるのでCtrl+Cで抜けてください）

```bash
$ mozc_emacs_helper 
#((mozc-emacs-helper . t)(version . "1.13.1651.102")(config . ((preedit-method . roman))))
# ^C
$ 
```

インストールされてますね。
ここまで出来たらvagrant内での作業は終了です。
logoutします。

```
$ logout
```

## SublimeTextの設定


### 事前確認

鍵を使ってssh経由でVagrantに接続してmozc_emacs_helperが使えることを確認しておきます。

以下再びMacのターミナルから以下を入力してみてください

```bash
$ ssh vagrant@localhost -p 2222 -i ~/vagrant/ubuntu-mozc/.vagrant/machines/default/virtualbox/private_key mozc_emacs_helper
# ((mozc-emacs-helper . t)(version . "1.13.1651.102")(config . ((preedit-method . roman))))
# ^CKilled by signal 2.
```
初回はRSA key fingerprintを登録するか?みたいな事を聞かれると思うので登録しときましょう。

先ほどvagrant内と同様のレスポンスが帰ってきたら
mozc_input_helperがssh経由で使えることを確認。よかった。

### SublimeMozcInputのインストール

これは既に色々な方が記事を書いてくださってますので省略します。

http://qiita.com/search?sort=rel&q=SublimeMozcInput

公式の拙い説明を補っていただいて感謝です。


### SublimeMozcInputの設定

以下からSublimeMozcInputの設定を開きます。

![sublime text setting](https://qiita-image-store.s3.amazonaws.com/0/41862/73c6f7e3-0942-a0b1-c110-4641b9ab4a77.png "sublime text setting")


以下のようなjsonを設定します。

```json
{
	"mozc_emacs_helper": "ssh vagrant@localhost -p 2222 -i /Users/YOURNAME/vagrant/ubuntu-mozc/.vagrant/machines/default/virtualbox/private_key mozc_emacs_helper"
}
```
`YOURNAME`のところは適宜書き換えてください
**この時、鍵ファイルのパスは絶対パスであることに注意してください**
ホームを表すのに~などの表記は使えませんでした。

※ここの設定が間違えてるとSublime Text 2はあっさり死にます

以上でセッティングは終わりです。
設定が終わったらSublime Textを再起動して日本語入力できることを確認して下さい。


## 注意

今回の記事の主眼でないので触れませんが
当然上記方法はvagrantのサーバが稼働してないと使えないので
常時使う人はスタートアップの際に`vagrant up`して立ち上げるなどの工夫をしてください。


## その他の方法

今回はvagrantを使いましたが要は
**ssh経由でもmozc_emacs_helperは使える**
ということなので
常時立ち上がってるLinuxサーバがあるならばそこにmozc_emacs_helperをインストールし
ssh経由で使うことも可能です。
（その場合オフラインだと使えませんが、仮想マシンを立てる必要は無くなります）

## フィードバック

あまり技術記事みたいな事を書きなれてないので、わかりにくい部分があったら
コメントまたはtwitterで [@yamaday](http://twitter.com/yamaday) までどうぞ
もちろん[github](https://github.com/yasuyuky/SublimeMozcInput)にissue立ててもらっても構いません