読者です 読者をやめる 読者になる 読者になる

SublimeText2 を使い始める

SublimeText2 が話題になっているので本格的に使い始めることにした。
以前、インストールして少し試してみたが、すぐに emacs に戻った。
ただ、twitter 上の TL 上でまた話題になっていたので再度使ってみることにした。
以下からダウンロードする。

http://www.sublimetext.com/2

Windows, Mac, Linux とどの環境でも使えるのがうれしい。

以下は Windows 版。

サイドバーにフォルダ表示ができ、 TextMate と同じような感覚で使える。
TextMate の Bundle も使える。
(私は TextMate を使ったことはない!)

まだぜんぜん使いこなせてないが、 Rails の開発で便利なプラグインを入れてみることにした。

Package Controll のインストール


名前でわかるように、プラグインを管理するもの。 github 上から所定の場所にクローンして
使用するというのも可能だが、これを使えば自動でインストールをしてくれる。

http://wbond.net/sublime_packages/package_control

以下のコマンドでコンソールを開く。

ctrl + `

以下を入力

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

'Please restart Sublime Text to finish installation' が表示されたら再起動してインストール完了。

Sublime Text 2 Ruby Tests のインストール


Rspec や Cucumber などのテストをその場で実行できる。
テストのビューが下部にできるのでターミナル等に移動しなくていいのが楽。

https://github.com/maltize/sublime-text-2-ruby-tests

以下のコマンドでコマンドパレットを開く

ctrl + shift + p

install と打てば、「Package Controll: Install Package」が出てくるので選択する。
登録されているリポジトリからインストール可能なパッケージの一覧を作成して表示されるので
「RubyTest」と入力すれば1つになるので選択すればインストール完了!

後は、上記URLの通り、設定ファイルを置いて Rspec や Cucumber の実行方法を記載すればOK。

ctrl + shift + r  # カーソルがある行を指定してテストを実行
ctrl + shift + t  # 現在のファイルでテストを実行

Mac ではまったのが、「/bin/sh bundle exec rspec」が見つからんというエラーで実行できなかった。
標準で zsh にしているのが原因かなと思い、調べていたら解決方法があった。

http://www.sublimetext.com/docs/2/osx_command_line.html

上記URLのようにシンボリックリンクを生成し、パスを通してターミナル上から起動すれば問題なくテストが実行された。
ランチャーから起動していたのがいけなかったようだ。

その他、「ctrl + .」でプロダクトコードとテストコードの切り替えができる。

おわりに


エディタ自体の機能をあまり紹介していなが、実際に使ってみて便利だなと思うところをこれからも書いていきたい。
もっともっとたくさんプラグインや豊富な機能満載なのでライセンスを購入しようと考えている。

他のプラグイン…

Ruby 1.9 Hash Converter: 1.9記法に変換してくれる
・ Git: git コマンドが実行できる

などなど、パッケージをそれっぽいワードで検索してみるといろいろでてくると思う。
ちなみに、拡張は Python で書かれている。
勉強したくなってきた…。