Time to Read

45分

概要

私、一応職業としては、主にRuby on Railsで開発をしているプログラマなんですが、Railsの開発環境については以下のように変遷してきました。

  • NetBeans for Ruby on Windows
  • NetBeans for Ruby on Ubuntu
  • emacs + Rinari on Ubuntu

開発用マシンのOSはここ一年ぐらいUbuntuでやってます。

UbuntuのGNOME環境では(GNOMEなら他もそうなんでしょうが)、標準で「gedit」というエディタがついてきます。

軽量で、Ruby、PHP、JavaScript、HTML等多くの言語のシンタックスハイライトが最初から用意されていて、Windows風の操作感なので、僕のような「薄い」Linuxユーザにはとても優しい感じなんですね。ちょっとしたファイルの編集には以前からemacsではなくこっちを使っていました。

そういう中、「GMate」というものの存在を知りまして。

これが、本当に便利で、最近の開発は全部「gedit + GMate」でやっています。

主に、以下のような機能があります。僕はTextMateを使ったことが無いんですけど、概ね同じような機能が実装されているんではないかと思います。その上で、最初から日本語使えますし。

  • 大幅なシンタックスハイライトの拡張。cucumberのフィーチャーを色分けしてくれるのって、GMateぐらいじゃないか(w
  • コード補完。大雑把な感じだが、意外と役立つ
  • 各種設定ファイルへのホットキー
  • partialを一発切り分け
  • ファイル内全文検索。それも、あるプロジェクトに含まれるファイルすべてについて
  • 正規表現での文字列置換
  • 文字列操作ユーティリティの追加。行移動、複製など
  • TextMate風のたくさんのテーマ追加
  • その他、細かく、Rails向けに使い勝手を向上している

興味を持った方のための導入手順+詳細は以下。

導入

公式のとおりです。Ubuntuだと圧倒的に楽。

1
2
3
sudo apt-add-repository ppa:ubuntu-on-rails/ppa
sudo apt-get update
sudo apt-get install gedit-gmate

なお、こちらの「Ubuntu on Rails」なるPPT、公式では入らないRubyGems 1.3.7も入ったりする便利ポジトリ(便利なリポジトリの略)なので、その辺も試してみるといいかもしれませんね。

(さらに補足すると、公式リポジトリのRubyGemsのバージョンは1.3.5、つまり最新のbundlerが動かなかったりする。。。)

機能を詳しく

シンタックスハイライト

Cucumberを色分けしている証拠画像。

ちなみに、Railsプラグインの振りをしてなぜかGroovyも色分けしてくれます。次の時代はGrailsだ! という方も安心して利用できます。

コード補完

補完中の画面をうまくキャプチャーできない、、、

インターネット上にあった画像を参照しておきます

ホットキー

Shift+Ctrl+R -> [any key] で、たとえば、routes.rb、environment.rb、database.ymlに一気に飛べたりします。Rinariのほうが高機能だったりしますが、それでも充分便利。

というより、Railsのファイルを適当に開くと、自動的にプロジェクトを認識して、サイドペインにしかるべきRAILS_ROOTを表示してくれます。こっちも便利。

partialを一発切り分け

Viewで、切り分けたい範囲を選択

Ctrl+Alt+Pで、パート名を入力すると、新規ファイルを作成して切り出してくれる。

ただ、深いディレクトリを指定するとファイル名じゃなくてディレクトリ名に「_」をつけたり、ちょっと微妙かも。。。

プロジェクト内全文検索

いいですよ、これ。

文字列操作ユーティリティ

  • Shift+Ctrl+D でその行を複製
  • Alt+↑/↓ でその行をそのまま移動

NetBeansにも似たような機能があったので、うれしいです。

テーマ追加

正直defaultのgeditのテーマは少なかったので、これだけたくさん追加されるのは感激。。

まとめ

Emacs? Vim? 敷居が高すぎる。。。 とか、Mac買ってさらにTextMateも買うのはちょっと。。。という方に是非勧めたい環境です。何より軽い。

というか、gedit自体Win版バイナリがあるし、Pythonさえ何とかすればWindowsでも環境を作成できるんじゃ。。。と見込んでます。未検証デスガ。