d.hetima RSSフィード

2006-11-10

TextMate の日本語入力

日本語の入力はダイアログを経由する inputCJK.tmbundle でとりあえず可能(Typing Japanese in TextMate | Samurai Coder を tmbundle にしたものだと思われる)。しかしこの方法だと、入力前にショートカットを押さないとダイアログが出てこない。

TextMate のテキスト表示部分は OakTextView という view で、NSView を直接継承している。ほとんどの処理は C++ で行われているのでつけ入る隙がない。NSTextInput プロトコルは実装されているものの、中身は何もしていない。setMarkedText:selectedRange: を横取りして、日本語が入力されたら別の NSTextView を出して続きを入力させるという方法を試してみた。最初の1文字をどうやって受け渡すかで少々迷ったものの、とりあえず動作させることができた。表示位置だとか、別の場所をクリックした場合の処理とか、未実装の項目が多いけれど、screencast をとってみた。Screenography というシェアウェアで作成。デモ版なので「DEMO」とウォータマークが入っているが、このムービーには相応しい(笑)。

D

入力パレット風 NSTextView の表示位置をどうするかが難しいところ。OakTextView の選択範囲や挿入ポイントの座標を取得する方法が分からない。vim のコマンド行(?)やチャットソフトの入力欄のようにウインドウ下部に固定するのが無難かなと思う。vim 風にするなら vim のようにコマンド入力もできれば楽しいかもしれない。


OakTextView の挿入ポイントの座標は、それっぽい座標を取得することができた。ウインドウやメニューを出すために用意された座標なので若干の調整が必要だった。

CJK-Input.tmplugin

公開しました

takataka 2006/11/26 22:21 すばらしいです

pohetpohet 2006/12/11 23:00 これで2.0が出る前に買う決心がつきました。Mr. Odgaard 氏は日本からの売り上げは無視しても良かったはずなので、分け前を請求してやって下さい! というくらい、私にとっては嬉しいです。
TextMateでの入力時に、英語モードに切り替え忘れた時のあまりの使い心地の悪さに使いどころが大幅に限られてしまっていたのですが、これで現状で最強のテキストエディタを手に入れられます。

すずすず 2007/07/06 20:54 すごい!ありがとうございます!

yotayota 2007/09/08 11:56 これ最高です!!!

FuloreFulore 2008/02/18 05:01 感謝!!

yuum3yuum3 2008/04/03 11:40 TextMate Version 1.5.7 をインストールしたら ~/Library/Application Support/TextMate/PlugIns/ がなかったので /Applications/TextMate.app/Contents/PlugIns/に入れてみました。
動いていますが、これで良いのでしょうか?

素晴らしいpluginありがとうございます!

rochefortrochefort 2008/10/05 16:58 試してみます。

>yuum3
~/Library/Application Support/TextMate/PlugIns
は、ダウンロードしたCJK-Input.tmpluginをダブルクリックすると
勝手に作成されて、pluginファイルも移動されますよ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。