EagleLand

2014.12.12

Sublime Textの後継を目指すオープンソースのテキストエディタLime Textを使った感想

Lime TextはSublime Textの後継を目指したオープンソースのテキストエディタ。Goで書かれており、インターフェースはSublime Textとよく似ている。

Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.

最近はSublime Textの開発もあんまり活発じゃ無さそうだし…ということで使ってみただけの、ただの作業ログ。

limetextのビルド

バイナリ配布してないので、使うためにはソースコードを入手して、自分でビルドする必要がある。この辺はWikiに書いてある通りにやっているだけです。

ビルド時に必要になるライブラリとかのインストール

鬼車を久々に目にしたのはさておき、これらをインストールしておく必要がある。MacであればHomebrewあたりが楽。Goの環境についてはGo事始め作業ログにメモがあるので、もしかしたら参考になるかも。

$ brew install pkg-config go mercurial oniguruma python3

僕の場合Pythonはpyenvで管理しているのでbrewではインストールしていない。が、pyenvでは、今のところ3.4.1をダウンロード出来ないので、仕方なく3.4-devを選択している。

あと、PKG_CONFIG_PATHという環境変数をエクスポートしておく必要がある。

$ export PKG_CONFIG_PATH=$(brew --prefix python3)/Frameworks/Python.framework/Versions/3.4/lib/pkgconfig

bashなりzshなりの設定ファイルに追記すると良し。

ソースコードのダウンロード

$GOPATH配下で、GoのCLI経由でソースコードをダウンロード。

$ go get github.com/limetext/lime/frontend/...
$ go get github.com/limetext/lime/backend/...

サブモジュール群を準備する。このステップちょっと時間かかる。

$ cd $GOPATH/src/github.com/limetext/lime
$ git submodule update --init

ひと通り終わって、以下のテストコマンドが通ればOK。

go test github.com/limetext/lime/backend/... github.com/limetext/lime/frontend/...

各インターフェースのビルドと実行

termboxの場合はfrontend/termboxというフォルダに移動して、ビルドするとtermboxという実行可能ファイルが生成される。これに編集したいファイル名を引数に(./termbox main.goのような感じで)実行すると、ターミナル内でエディタが起動する。

$ cd $GOPATH/src/github.com/limetext/lime/frontend/termbox
$ go build
$ ./termbox main.go

qmlの場合も同様にビルドするが、こちらはGoのqmlが事前にインストールされている必要がある。

ビルド後は同様に実行可能ファイルが生成されるので、実行する(./qml)と新たにウィンドウが起動する。Qtをキックしているような感じっぽい。

$ cd $GOPATH/src/github.com/limetext/lime/frontend/qml
$ go build
$ ./qml

HTMLインターフェースもあるみたいなんだけど、go run main.go後に何をすればいいのかドキュメントに書いていない。main.goを覗いてみるとどうやら8080ポートにWebアプリとしてホストしている様子。

$ cd $GOPATH/src/github.com/limetext/lime/frontend/html
$ go run main.go

感想

今のところどのインターフェースも、デバッグログなのかわからんけどターミナルへの出力が多すぎるせいか、動作が重すぎて話にならなかった。ログ吐かないプロダクションビルドのようなものもあるのかわからないけど、わからなかった。

termboxインターフェースは比較的軽かったけど、Sublime Textに一番雰囲気が近いと言えそうなqmlもQt経由なせいもあり、キビキビ動かない。

と、いうことで、まだ山師用ということになりそうです。100%オープンソースということでどんどん改善されて欲しいナーと希望的観測。