sublime text3の良さを知りterminalとの連携をスムーズにしたい


はじめに

目的

  • 最近周りでsublimeを使う人が減ってきた感じがするので、sublimeの良さを知って欲しい
  • sublimeとterminalの切り替えをキーボードだけでスムーズにする

約束事

vimでいいじゃん
atomの方がよくね?

は禁句です

sublimeのメリット

  • 本来は有料ソフトだが、無料試用版が機能・期間無制限で使える
  • 豊富なプラグインがある
  • 起動が早い

sublime textのインストール

ここからsublime textをダウンロードしてインストールします

プラグインの導入

package controlの導入

sublimeにプラグインを導入するためにはpackage controlを利用して導入します

そのためこのサイトに書いてある通りに、画面上部のView->Show Consoleで画面下部に出てくるコンソールに入力します
しばらくすると導入完了

プラグインのインストール

macの人は⌘+shift+p windowの人はctrl+shift+pで

が表示されるはずですので

Package Control:Install Package を選ぶことでプラグインをインストールできます

今回必要なプラグイン

今回はTerminalが必須です
これによりsublime上でterminalが起動できるようになります

またwindowsユーザーは
基本の文字コードがshit-jisのため
- ConvertToUTF8
- IME Support
の2つを導入することは強くお勧めします

terminalを起動することはこれでできるのですが、windowsの場合はcmdではなくpower shellが開いてしまうため
Preferences->Terminal->Settings - User
を開き

{
    "terminal": "cmd",
    "parameters": ["/k", "chcp", "65001"]
}

としてcmdが開くようにしておきましょう

sublimeをterminalで開く

macの場合

シンボリックリンクを作成

terminalで

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subli

でシンボリックリンクを貼ってsubliで使えるようにしておきましょう
なお公式ではsublでシンボリックリンクを張りますが、今回はsublを別のことにするので、subliにしています

functionの作成

vi ~/.bashrc

の中で

subl(){
    if [ $# -ge 1 ] ; then
        subli -b $@
    else
        subli & exit
    fi
}

という関数を作ります
これはsublコマンドを実行した時に、引数があればバックグラウンドでsublimeを開き
引数がなければsublimeにフォーカスを移し、terminalを閉じます
terminalを閉じる理由はsublime上のterminalプラグインは毎回新しいterminalを開くため、terminalが複数開く事態になってしまうからです

windowsの場合

C:\Program Files\Sublime Text 3

を環境変数のPATHに追加しましょう

次にパスを通したディレクトリを開き
subl.exeをsubli.exeとします

バッチファイルを追加するので、バッチファイル用のディレクトリを作り、それにパスを通しておきます
バッチファイル用のディレクトリに

subl.batという名前で、中身を

@echo off
rem 引数が0なら終了する
if "%1"=="" (
    rem 引数がなければsublimeにフォーカスしてcmdを終了する

    subli & exit
) else (
    rem 引数があればバックグラウンドで実行する

    subli -b %*
)

と保存します

利用の仕方

subl XXX

でsublimeを開きます
XXXはファイルまたはディレクトリで複数指定できます
バックグラウンドで開きます

その後sublとするとsublimeにフォーカスを移し、terminalが閉じます

sublime上で⌘+shift+tもしくはctrl+shift+tでterminalを開きます

これを繰り返す

また

subl -n XXX

と-nオプションをつけると新しいウィンドウで開いてくれます


一切マウスやトラックパットを使わずにここまでできます

sublimeのおすすめプラグイン

terminal

今回の主役
sublime上でterminalを開ける

GitGutter

sublime上でgitでソースコードを管理していてる場合、変更箇所が表示される

BrackethigHlighter

{} や() []がどこに対応しているのかを強調してくれる

ConvertToUTF8

自動でUTF8に変換してくれ、保存する時に元の文字コードをに直してくれる

WakaTime

wakatimeのプラグイン
プログラミングの時間をどれだけやったかを自動で収集して、グラフにしてくれるサービス
モジベーション維持や、どのファイルにどの程度の時間をかけたのかをみるのに使っている