プログラミングエディタ Sublime Text2 を使ってみよう!
つかってみたら結構便利だったので、カスタマイズ中のメモがてら紹介。
Sublime Text2 というエディタがありまして、日本語圏で全然有名でない、しかも2というバージョンがついてるのにエディタ厨の僕が1を寡聞にして聞いたことがない、そんな感じで食わず嫌いだったのですが、試しにインストールしてみると存外に使いやすく、カスタマイズしてみると結構良い感じだったので、レビューしてみたいと思います。
ちなみに、自分はCocoaEmacsをVimpulseという拡張でVimキーバインドにしてAnything/AutoCompleteを自分流にチューニングしてるゲテモノ好きなので、これが一般的な意見かどうかは不明。
Sublime Text2特長
- そこそこ賢い補完
- Anything風ミニバッファ
- Chrome風タブ
- 縦タブ
- バッファのプロジェクト管理
- 画面分割
- 画面分割ごとのグループ管理
- スニペット呼び出し
- 既にそこそこの拡張がある
- 拡張はPythonで記述
- マクロ設定
- OSネイティブっぽい挙動
- 設定ファイルはJSON
- Vimキーバインドがある!!!!!
当たり前なんでしょうが、エディタ閉じたときは前のバッファ一覧を復旧します。
なんというか、EmacsもVimも拡張使ってどうにも信頼できない感じでの復元しかしてくれないので、新鮮ですね。
ダウンロード
どうせアルファ版なので開発版使ったほうがいいです
Sublime Text 2 Dev Builds - Sublime Text
基本操作
Cmd+P ファイル一覧から選択
Cmd+R 関数検索
Ctrl+Cmd+1~4 画面分割
Ctrl+1~4 分割画面選択
Tab 補完
Ctrl-Space 補完候補の表示
デフォルトだとC-n,C-p,C-f,C-b のEmacs風キーバインドが使える
Preference - Keybindings Default にズラズラ書いてあるので、いじればよさそう。
Package Control
プラグインマネージャ。
インストールはCtrl-`(またはView - Show Console)からインタプリタよんでワンライナーで
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
再起動して Cmd+Shift+P で起動
とりあえずいれたもの
;IndentGuids
インデントの調整のガイドを出す
;SublimeCodeIntl
自動補完、なのだが自分の環境だと動かず、行頭でCtrl-Space押すとクラッシュした。
;SublimeTagMather
HTMLタグの対応でシンタックスハイライト。
Vim キーバインド
Global Settingを開く。末尾あたり。
- "ignored_packages": ["Vintage"] + "ignored_packages": [], + "vintage_start_in_command_mode": true
Keybindings User を編集
[ { "keys": ["ctrl+g"], "command": "exit_insert_mode", "context": [ { "key": "setting.command_mode", "operand": false }, { "key": "setting.is_widget", "operand": false } ] }, { "keys": ["ctrl+space"], "command": "show_overlay", "args":{"overlay":"goto","show_files":true}, "context": [ { "key": "setting.command_mode"} ] } ]
最起動すれば有効化されます。
Ctrl-gでインサートモードから抜けるのは自分のEmacsでの手癖みたいなものです。
command_modeでのctrl-spaceの補完は潰してバッファのジャンプにした。
細かい設定をしたければ Vintage Mode - Sublime Text 2 Documentation を読む
CoffeeScript
自分が最近一番書いてる言語(拡張)なので設定した。
デフォルトにもPackage Controlにも入ってないのでgithubからいれる。
cd Library/Application\ Support/Sublime\ Text\ 2/Packages/
git clone git://github.com/jashkenas/coffee-script-tmbundle CoffeeScript