【コラム】

OS X ハッキング!

108 vimとEGBRIDGE 15で異体字を含む文書を作成する

    海上忍  [2004/10/04]

    ようやく第四世代iPod用のシリコンケースが出回り始め、数種類注文していたうちの1つが我が家に届いた。パワーサポート製の「iPod Silicone Jacket set」という製品なのだが、なかなかいい感じ。ただ、いくつか気になる点も…… この件についてはいずれまとめて報告したい。

    さて、今回はvimを利用してUTF-8のテキストファイルを編集する方法について。vi/vimは独特の操作性を持つため敬遠するユーザも多いようだが、日本語を扱えるようにしておけば、ssh経由でリモートログインしたときに重宝するはず。このたびエルゴシステムのご厚意により、間もなく発売される日本語入力システム「EGBRIDGE 15」を試用する機会に恵まれたため、EGBRIDGEシリーズならではの「異体字の入力」を生かしたvimでの日本語入力の方法について説明してみよう。

    EGBRIDGE 15の新機能

    EGBRIDGE 15には、変換位置の前後の文脈に沿って変換を行う「スマートインライン変換」など、目新しい機能がいくつか追加されている。"ヒラギノフォント20,000字すべてを使ってかな漢字変換・入力ができる唯一のインプットメソッド"を標榜するだけあって、変換時に[option]-[g]を押せば異体字の候補を表示できるなど、独自の機能も少なくない。もちろんTerminalにも対応しているので、UTF-8をサポートするvim(後述)を使うと、「辺」や「高」の異体字のように、シフトJISや日本語EUCでは扱えない(Unicodeの)文字種を含む文書を作成できる。

    なお、vimのようにCocoa APIとは関係ないコマンド/アプリケーションでは、ヒラギノに含まれるすべての文字は入力できない。試しに、某外食チェーン店の屋号にも使われている「土+口」(士+口ではない)、「日」の下に「明」と書き「さやか」と読む文字を入力しようとしたところ、変換はできたが文字の表示はできなかった。これらの文字については、Cocoaアプリを使うしかないだろう。

    マルチバイト文字対応のvimを用意する

    バージョン6以降のvimには、マルチバイト文字対応はもちろん文字コードを自動判定する機能も用意されている。OS X 10.3に収録されているvimは、マルチバイト無効の状態でコンパイルされているため、日本語文書の編集には利用できないが、再コンパイル(configureスクリプト実行時に「--enable-multibyte」が必要)すればOK。Finkを利用している場合にはさらに簡単で、「fink install vim-nox」を実行するだけで準備完了だ。

    なお、そのままでは「vi」と実行したときにOS X標準のvi(/usr/bin/vi)が起動してしまうので、シェルの初期化ファイル(例:~/.bash_profile)に「alias vi=vim」の要領でエイリアスを定義しておこう。

    vimを覚える近道

    vimの操作性は、いわゆる"Macらしさ"とはかけ離れた次元にある。端末の時代から利用されているため、編集作業にはマウスはもちろんカーソルキーすら必要なく、手をキーボードのホームポジションに置いたままであらゆる作業をこなせるよう設計されている。

    とはいえ、文字の削除といった基本的な文字列処理にもコマンドを用いるvimに慣れるためには、ある程度の学習が欠かせない。参考書に頼るのもいいが、まずはFink版vim(vim-nox 6.3)に収録されているチュートリアルから始めてみてはどうだろう? LANG環境変数の値(ja_JP.UTF-8)とTerminalの文字セットエンコーディングにUTF-8が選択されていれば、「vimtutor」と実行するだけで日本語チュートリアルが起動されるはずだ。

    UTF-8を扱うための設定

    vimは起動時にホスト全体の初期化ファイル(/usr/share/vim/vimrc)を読み込み、続いてユーザ別の初期化ファイル(~/.vimrc)があればその内容で設定を上書きする。通常は一般ユーザとしてvimを使うことになるはずなので、vimのオプションは~/.vimrcに記述しておけばいいだろう。

    ~/.vimrcには、とりあえず以下のとおり文字コード関連の設定を記述しておこう。このように記述しておけば、デフォルトのエンコード形式がUTF-8となるほか、シフトJISや日本語EUCなどエンコード形式を自動判定してテキストファイルを開けるようになる。

    set enc=utf-8 ←1
    set fenc=utf-8 ←2
    set fencs=iso-2022-jp,euc-jp,cp932 ←3
    1:表示用の文字コード種(ターミナルインスペクタの設定にあわせる)
    2:保存時に適用する文字コード種
    3:文字コード自動判別の候補とする文字コード種を列挙

    これでvimを利用してUTF-8のテキストファイルを編集できるようになったはずだが、テキストエディットの初期設定ではFinderでファイルをダブルクリックしても開けない。この問題を解決するには、テキストエディットの環境設定パネルにある「デフォルトの標準テキストエンコーディング」欄で、「開く」メニューに「Unicode (UTF-8)」を選択しておこう。

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン