まさしく”至高”なSublimeText3を導入しよう！！！


　つい最近まで、私はatomエディータを好んで利用していました。
**ですが！！！**とある友人のツイートが原因で、一夜にしてSublimerになってしまいました。
そんな一瞬で私を虜にしたエディターを、もっと多くの人に使ってほしいという願いからこの記事を書かせていただきました！
　もしかしたら情報が間違っていたり、もっといい導入方法があるかもしれないので、その時はご報告をおねがいします:sweat_smile:

#SublimeText3の導入
　早速ですが。エディターをインストールしていきます！

- Windows（64bit）
Windowsは以下のURLからインストーラーをダウンロードし、実行すれば完了です。
https://download.sublimetext.com/Sublime%20Text%20Build%203176%20x64%20Setup.exe

- Mac
Macも以下のURLからインストーラーをダウンロードし、実行すれば完了です。
https://download.sublimetext.com/Sublime%20Text%20Build%203176.dmg

- Linux（Ubuntu）
Ubuntuの場合は、以下のコードをすべてコピーし端末にペーストし実行、もしくはまるごとファイルに出力しそれを実行すれば完了です。

```
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - &&
sudo apt-get install apt-transport-https &&
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list &&
sudo apt-get update &&
sudo apt-get install sublime-text
```

#プラグインの導入
　導入すれば、普通のエディタとして利用することはもちろん可能です。ですが、まだまだ物足りないエディタなので、公開されているプラグインを導入していきます。

##コマンドパレットの導入
　...と言っても、実はこのサブライムちゃん、標準でプラグインを導入する機能は備わっていないんです。ということで、「コマンドパレット」と呼ばれる、プラグインを入れるためのプラグイン的存在をまずは導入します。

1. まず「View → Show Console」でコンソールを表示。

2. 次に、以下のコードをコンソールにペーストし、実行します。

```
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
```

３. 最後に「Ctrl + Shift + p」を押し「install」と入力して検索して「Package Control: Install Package」と表示されればインストール成功です。

　基本的には、「Ctrl + Shift + p」から「Package Control: Install Package」を選択し、ほしいパッケージの名前をそこで探して選択すれば、簡単にパッケージがインストールできます。

##日本語化
　さて次は、エディタ全体を日本語に対応させます。
　...と、ここで、emacsの登場です。どうもこのサブちゃん、日本語を使うにはエディタ戦争の火付け役（？）を導入しないとダメみたいです。ということで、vim派の方、**諦めて導入しましょう。**~~(エイリアス書き換えればなんとかなりますって♪~~

1. まずUbuntuの方は以下のコマンドでemacsを導入しましょう。その他のOSの方は各自で調べて導入してください。

```
sudo apt-get install ibus-mozc emacs-mozc
```

２. 次にコマンドパレットを開き、「Package Control:Add Repository」を選択します。
３. そして、出てきたフォームに以下のURLをペーストして、リポジトリを登録します。

```
https://github.com/yasuyuky/SublimeMozcInput
```
４.最後に、コマンドパレットから「Package Control:Install Package」を選択し、以下の２つのパッケージをインストールしてください。

```
SublimeMozcInput
ChineseLocalizations
```
これで日本語表記＆日本語入力に対応しました。**ただし、入力切換は「Ctrl+￥」です。**

##構文エラーチェック
　そして、エラーチェックができるのもこのエディターのいいところです。
実は、エラーチェックができるプラグインがいくつか公開されていますが、ここではよく使われているであろう「SublimeLinter」を導入します。

###Linter本体の導入
　実は、エラーチェックをするためには、Linter本体と、言語別に提供されているチェック用プラグインの２つが必ず必要になってきます。まずは本体の導入からです。

1. コマンドパレットから「Package Control:Install Package」を選択。
2. 以下のプラグインを導入すれば完了。

```
SublimeLinter
```
※名前が似ている「SummitLinter」という別パッケージが存在するので、選択ミスにはお気をつけて...(←気づかず導入し発狂した人）

###言語別Linter用プラグインの導入
　さて、次は言語に合わせたプラグインを入れていきます。調べるとpythonやjavaなどがあるようです。ここでは一例としてC/C++のエラーチェックができるようなプラグインを導入します。

1. まず、以下のプラグインをコマンドパレットから導入します。

```
SublimeLinter-gcc
```

２. 次に以下の設定を、SubliimeTextのメニューバーから「基本設定」→「Package Setting」→「SublimeLinter」→「setting」を開き、右側のウィンドウに以下のコードをそのままペーストします。

```
"linters": {
       "gcc": {
           "disable": false,
           // C-specific settings
           "c_executable": "gcc",
           "c_extra_flags": [
               "-fsyntax-only",
               "-std=c99",
           ],
           // C++-specific settings
           "c++_executable": "g++",
           "c++_extra_flags": [
               "-fsyntax-only",
               "-std=c++11",
           ],
           // include_dirs for both C and C++
           "include_dirs": [
               "${project_folder}/include",
               "/usr/local/include",
           ],
       },
   },
```

　この設定で、ライブラリのインクルードパスなどの細かな設定ができるようになっています。詳しくは「SublimeLinter-gcc」のReadmeを参照してください。
　これでC/C++のエラーチェックができるようになったはずです！（OSによってコンパイラーの場所を指定しなければならないかもしれません）

##インデント整形
　これがないとやってられませんｗ　
　Sublimeにも標準で整形機能はありますが、公開されているパッケージを利用すれば、更に快適にインデントの整形ができます。

１.まず、以下のパッケージを導入してください。

```
SublimeAstyleFormatter
```

２.次に、メニューバーから「基本設定」→「Package Setting」→「SublimeAstyleFormatter」→「Settings-User」を開き、以下のコードをそのままペーストします。

```
{
   "options_default": {
   	"indent": "tab"
   },
   "options_c": { 
   	"style": "java"
   },
   "options_c++": {
   	"style": "java"
   }, 
}
```

３.最後にショートカットキーを設定です。同じように「基本設定」→「Package Setting」→「SublimeAstyleFormatter」→「Key Bindings-User」を開き、以下のコードをそのままペーストします。

```
[
   {
       "keys": ["ctrl+i"], "command": "astyleformat",
   },
]
```

これらの設定で、整形する型やショートカットキーを自在に変更することができます。

##C/C++補完
　最後に、コード補完です。もちろん標準で補完機能はありますが、型の表示などは残念ながらしてくれません。そこで、以下のプラグインを導入します。
　と、その前に、どうやらclangが必要のようなので、Ubuntuの方は以下のコマンドで導入しましょう。他のOSの方は各自調べて導入してください。

```
sudo apt install clang
```

そして、今までと同様に、以下のプラグインを導入しましょう。

```
EasyClangComplete
```

最後に、以下のコードを、今までと同様に「EasyClangComplete」の設定ファイルにペーストします。

```
{
 "common_flags" : [
   // some example includes
   "-I/usr/include",
   "-I/opt/ros/kinetic/include",
   "-I$project_base_path/src",
   // this is needed to include the correct headers for clang
   "-I/usr/lib/clang/$clang_version/include",
 ],
}
```

これで、C/C++の補完ができるようになりました。

**ね？簡単でしょ？？**

#最後に...
　さて、無事導入できたでしょうか？もし何か問題があればまた報告をおねがいします。
それではぜひ楽しいSublimeライフを！！