全角英数を半角に変換するjEditマクロ
日本人でもjEditを便利に使おう、というわけで、選択範囲の全角英数を半角に変換するjEditマクロを書いてみた。
ホームディレクトリ/.jedit/macros に、
ConvertWideCharToASCII.bshというファイルを置き、以下のコードを貼り付ける。
void convertWideCharToASCII() { text = textArea.getSelectedText(); sb = new StringBuffer(); for(i = 0; i < text.length(); i++) { c = text.charAt(i); if(c >= 0xff01 && c <= 0xff5d) { c = c - 0xff01 + 0x0021; } else if(c == 0x3000) { c = ' '; } sb.append((char)c); } textArea.setSelectedText(sb.toString()); } if(buffer.isReadOnly()) Macros.error(view, "Buffer is read-only."); else convertWideCharToASCII();
これだけ、超簡単です。目的に合うプラグインやマクロを探すより、欲しい文字列操作をそのつど書くほうが楽かもしれない。Lispで同じことやれと言われても、ちょっと二の足踏むよね。
なぜテキストエディタ上で動くツールを書くか?:ファイル単位で変換するツールを作ると、ファイル内の全テキストが変換されてしまうし、何より、操作のたびに保存が発生するのは面倒だ。保存してないバッファで編集できるのがいい。