GNU nanoで日本語表示を可能にする

さて、前述のとおりGNU nanoはWindows OS用バイナリが用意されているため、導入は簡単です。公式サイトのダウンロードページにアクセスし、「WinNT/9x binary」と書かれた行のリンク(ここではnano-2.2.6.zip)をクリックして最新版をダウンロードしましょう。ZIP形式ファイルを展開するとわかりますが、GNU nanoはCygwin(Windows OS上で動作するUNIX風環境)を用いたバイナリになっています(図02~03)。

図02 ダウンロードページからWindows OS用バイナリをダウンロードします

図03 ZIP形式ファイルを展開しますと、実行ファイルに加えて設定ファイルやWindows OS上で動作させるためのCygwinのDLLファイルが並びます

「nano.exe」をダブルクリックすれば、GNU nanoが起動しますので、早速日本語入力を試してみましょう。[半角/全角]キーを押してIMEを有効にし、適当な日本語を入力してください。インライン変換中は日本語が表示されていますが、[Enter]キーを押して確定すると文字化けしてしまいました。これは、公式サイトで配布されているGNU nanoのWindows OS版が、文字コードの設定を行っていないために起きる現象です(図04~06)。

図04 [半角/全角]キーを押してIMEを有効にしてから日本語入力を試します

図05 コマンドプロンプトのコードページがシフトJISになっているため、正しく表示されません

図06 コンパイルオプションを確認しますと、UTF-8を使用可能にする「--enable-utf8」が抜けていました

例えばDebian GNU/Linuxのパッケージとして用意されているGNU nanoはコンパイルオプションとして「--enable-utf8」が追加されているため、UTF-8形式で保存した日本語のテキストファイルであれば編集可能ですが、公式サイトから入手できるGNU nanoのWindows OS版は同オプションを使用していません(図07)。

図07 文字コードをUTF-8に変更したテキストファイルを開いてみましたが、2バイト文字が正しく表示されません

Cygwinを導入し、PDCursesというライブラリを追加してコンパイルすれば、UTF-8に対応するため日本語も表示可能ですが、ソフトウェア開発に不慣れなユーザーにはハードルの高い作業となります。そこで、Lubomir氏が用意したパッケージに差し替えましょう。

同パッケージは同氏のブログで配布されていますので、こちらを使用してください。とくに難しい操作は必要なく、圧縮ファイルを任意のフォルダーに展開してください(ここではgnu-nano-2.2.6-ncurses-5.7.18.zip)。あとは「nano.exe {UTF-8形式の日本語ファイル}」とコマンドプロンプトから実行すれば、日本語表示が正しく行われます(図08)。

図08 Lubomir氏がコンパイルしたバージョンではUTF-8のテキストファイルが正しく表示されます

GNU nanoの設定を行う

それでは、GNU nanoをコマンドプロンプトから簡単に呼び出せるようにしましょう。従来と同じようにGNU nano関連ファイルをユーザーフォルダーに展開し、環境変数PATHを通すやり方を用います。なお、既に同環境変数を使用している場合は、末尾に「;%USERPROFILE%\bin」を加えてください。本操作を行うことで、コマンドプロンプトから簡単にGNU nanoを起動することが可能になります(図09~15)。

図09 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「%USERPROFILE%」と入力して<OK>ボタンをクリックします

図10 次に展開した「gnu-nano-2.2.6-ncurses-5.7.18.zip」から「bin」「usr」フォルダーをユーザーフォルダーにコピーします

図11 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「SystemPropertiesAdvanced.exe」と入力して<OK>ボタンをクリックします

図12 ダイアログが起動したら<環境変数>ボタンをクリックします

図13 新たに起動したダイアログの「~のユーザー環境変数」にある<新規>ボタンをクリックします

図14 変数名に「PATH」、変数値に「PATH;%USERPROFILE%\bin」と入力して<OK>ボタンをクリックします

図15 設定を有効にするため、<OK>→<OK>とボタンをクリックしてダイアログを閉じます