プログラミングエディタ Sublime Text2 を使ってみよう!

つかってみたら結構便利だったので、カスタマイズ中のメモがてら紹介。

Sublime Text2 というエディタがありまして、日本語圏で全然有名でない、しかも2というバージョンがついてるのにエディタ厨の僕が1を寡聞にして聞いたことがない、そんな感じで食わず嫌いだったのですが、試しにインストールしてみると存外に使いやすく、カスタマイズしてみると結構良い感じだったので、レビューしてみたいと思います。

ちなみに、自分はCocoaEmacsをVimpulseという拡張でVimキーバインドにしてAnything/AutoCompleteを自分流にチューニングしてるゲテモノ好きなので、これが一般的な意見かどうかは不明。

Sublime Text2特長

  • そこそこ賢い補完
  • Anything風ミニバッファ
  • Chrome風タブ
  • 縦タブ
  • バッファのプロジェクト管理
  • 画面分割
  • 画面分割ごとのグループ管理
  • スニペット呼び出し
  • 既にそこそこの拡張がある
  • 拡張はPythonで記述
  • マクロ設定
  • OSネイティブっぽい挙動
  • 設定ファイルはJSON
  • Vimキーバインドがある!!!!!

当たり前なんでしょうが、エディタ閉じたときは前のバッファ一覧を復旧します。
なんというか、EmacsVimも拡張使ってどうにも信頼できない感じでの復元しかしてくれないので、新鮮ですね。

Vimキーバインド、これがないと自分は死にます。

欠点

  • 日本語IMEでタブで補完しようとすると無視される
  • ドキュメント少ない
  • いずれシェアウェアになる($8)

ダウンロード

どうせアルファ版なので開発版使ったほうがいいです
Sublime Text 2 Dev Builds - Sublime Text

対応はWin/Mac/Linux。自分の環境はMacOS10.7

基本操作

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 を読む

フォント設定

自分はEmacsでもVimでもRictyを使っています。
プログラミング用フォント Ricty

User Settingから
"font":"Ricty"

CoffeeScript

自分が最近一番書いてる言語(拡張)なので設定した。

デフォルトにもPackage Controlにも入ってないのでgithubからいれる。

cd Library/Application\ Support/Sublime\ Text\ 2/Packages/
git clone git://github.com/jashkenas/coffee-script-tmbundle CoffeeScript

感想

色々いじりましたが、デフォルトでもそこそこ使いやすくMacのプログラミングエディタならSmultonやTextWranglerなどより初心者向きなのではないでしょうか。
個人的にはKodやKomodo Editorなどよりも使いやすく感じています。HTMLのプレビュー機能はないので、その用途ではCodaに劣りますが、GithubやSFTP連携の拡張もあります。

追記
id:lizy さんのコメントで気づきましたが
たしかにCmd+Pのgoto Anything 便利ですね。履歴から補完しながらファイル開ける。VintageのCtrl-Space、こっちにしようかな。