- コマンドラインで日本語を - on Mac OS X カウンタ:Total(Today,Yesterday)

←JTerminalとmcccのページへ

bashとtcshのページへ→


注意このページの内容については、何ら動作を保証するものではありません。使用するときは個人の責任でお願いします。

vimとnvi-m17n

さて、JTerminalを使うことでコマンドライン上に日本語を表示することはできるようになりましたが、では日本語で書かれた文章を編集するエディタはどうすればよいのでしょうか? まぁ、Terminal上のエディタを使わなくてもTextEditなどのGUIアプリを使えばよいわけですが、Terminal上で操作しているときはTerminal上で動くエディタが何かと便利です。

ということで、次はJTerminal上で使える日本語入力・表示可能なエディタの話です。

vim

Mac OS XにはEmacsがインストールされており、これを使えば日本語の表示・入力が一応できます。しかし、やはりもっと軽くて使いやすいvi系のエディタ(で日本語の通るもの)がほしいところです。

ところが、OS Xに付属しているviは日本語が通りません(表示も入力もできない)。 JTerminal上で動かすことだけを考えれば、neなども使えますが、ここはやはり使い慣れたvi(クローン)で日本語を通すことを考えます。

まず最初に、viクローンとしてはかなり有名なvimです。vimの場合、ソースコードからbuild(make)しても簡単に作ることが出来ます。次のような感じです。

  1. ftp://ftp.mx.vim.org/pub/vim/unix/あたりからvim-6.1.tar.bz2を拾ってきて、適当な場所に置く(*1)
  2. tarを使って、上記2つのファイルを展開する(*2)
  3. ftp://ftp.mx.vim.org/pub/vim/patches/あたりから、6.1関係のpatch(6.1.*)をすべて持って来る。
  4. vim61ディレクトリに移って、patchをあてる。
  5. configureを動かす。
  6. makeを実行する。
  7. make installを実行する。
% ncftpget ftp://ftp.mx.vim.org/pub/vim/unix/vim-6.1.tar.bz2
    :
% tar xvfj vim-6.1.tar.bz2
    :
% ncftpget "ftp://ftp.mx.vim.org/pub/vim/patches/6.1.*"
    :
% cd vim61
% cat ../6.1.* | patch -p0 -f
    :
% ./configure --enable-multibyte
    :
% make
    :
% sudo make install
    :
%
"%"はプロンプトです。(以下同じ)
(*1) : ncftpgetはOS Xに標準では入っていませんので、finkなどを使ってインストールしておくと便利です。(もちろん普通にftpを使ってもよいですが。) なお、finkの使い方などは"Mac OS X へのX Window Systemの導入のページ"が便利です。
(*2) : OS Xに標準で入っているgnutarではbzip2で圧縮されたファイルを展開できませんから、新しいバージョンのtar(gnutar)をfinkなどを使って、インストールしておいて下さい。

また、vim本体は/usr/local/binにインストールされますので、/usr/local/binにpathを通しておいたほうが便利です。
vim以外でも/usr/local/binにインストールされるソフトは多いですから、.tcshrcなどに書いておくのがよいと思います。

% echo 'set path = ( /usr/local/bin $path )' >> ~/.tcshrc
%

ソースから作るのは面倒という人は、finkにも入っているようですから、そちらをインストールしてもよいと思います。

nvi-m17n

ところで、OS Xに標準で付属しているviの素性はというと、どうもnviのようです。nviには日本語の表示・入力をできるようにした多国語化nvi (nvi-m17n) が存在していますので、vimのように色々な機能はいらないからシンプルで軽いものがよい、という人には良いのではないかと思います。手順は以下の通りです。

  1. ftp://ftp.foretune.co.jp/pub/tools/nvi-m17n/あたりからnvi-1.79.tar.gz, nvi-1.79.m17n-19991117.diff.gzを拾ってくる。
  2. nvi-1.79.tar.gzを展開する。
  3. nvi-1.79ディレクトリに移動し、多国語化パッチ(nvi-1.79.m17n-19991117.diff.gz)をあてる。
  4. buildディレクトリに移動し、config.guess, config.subを/usr/libexecにあるもので置き換える。
  5. configureを実行する。
  6. makeを実行する。
  7. make installを実行する。
% ncftpget ftp://ftp.foretune.co.jp/pub/tools/nvi-m17n/nvi-1.79.tar.gz
    :
% ncftpget ftp://ftp.foretune.co.jp/pub/tools/nvi-m17n/nvi-1.79.m17n-19991117.diff.gz
    :
% tar xvfz nvi-1.79.tar.gz
    :
% cd nvi-1.79
% zcat ../nvi-1.79.m17n-19991117.diff.gz | patch -p1
    :
% cd build
% cp -pf /usr/libexec/config.guess .
% cp -pf /usr/libexec/config.sub .
% ./configure --enable-multibyte --disable-curses --disable-db --disable-re
    :
% make
    :
% sudo make install
    :
%

nviアプリは/usr/local/binに"vi"という名前でインストールされますので、元のvi (/usr/binに存在する)が起動しないように、path設定に/usr/local/binを(/usr/binより前に)加えておいて下さい。方法はvimの項で書いた方法と同じです。

また、日本語(主にEUC)の表示・入力ができるように、以下の設定を~/.exrcあるいは~/.nexrcファイルに書いておけばOKです。

set skipdisplay
set displayencoding=euc-jp
set inputencoding=euc-jp
set fileencoding=euc-jp
set autodetect=jp+