テキストエディタはプログラマの必需品

プログラマに取ってテキストエディタはなくてはならない存在だ。Javaや.NETプログラマであれば普段のコーディングにはEclipseやVisual StudioといったIDEを使用することも多いだろうが、それでも設定ファイルを編集したり、ソースコードを読んだり…といった作業でテキストエディタを利用するだろうし、PHPやPerlといったスクリプト言語を使用する場合はJavaなどと比較してIDEが充実していないため、テキストエディタでコーディングを行うケースが多いだろう。

プログラマ向けのテキストエディタには様々なものがありUnixの世界ではviやEmacsが代表的な存在だが、今回はWindowsで利用可能な高機能テキストエディタ「Notepad++」を紹介したい。

図1: Notepad++のWebサイト

なお、Notepad++には本家で開発されているものとは別にEUC-JP対応版が存在する。これはEUC-JPへの対応だけではなく、SJISでの編集時の不具合にも対応したもので、本家で公開されているものと比べるとややバージョンが古いのが難点だが、EUC-JPやSJISのファイルを編集する場合はこちらを使用するといいだろう。

Notepad++の主な機能

Notepad++はそのネーミングからWindows標準のメモ帳を連想してしまうが、実際は非常に高機能なタブ型のテキストエディタで以下のような機能を備えている。

  • 様々なプログラミング言語に対応した強調表示
  • メソッドや関数などの折りたたみ
  • キーワードや変数の入力補完
  • フォルダ指定やマーキングも可能な検索機能
  • ウィンドウの分割
  • プラグインによる拡張

入力補完は[CTRL]+[SPACE]でキーワードの補完、[CTRL]+[ENTER]でファイル内で使用されている単語の補完を使い分けることができる。

図2: ウィンドウの分割や入力補完などが可能

興味深い機能として、文字の拡大・縮小がツールバーやショートカットで簡単に行えるようになっているという点がある。コードを隣の席の同僚に見せたり、プレゼンの際などに威力を発揮するだろう。

図3: 文字の拡大・縮小が簡単にできる

検索ダイアログではファイル内の検索・置換だけでなく、[ファイル内検索]タブで指定したフォルダ配下のファイルを検索できる。

図4: 検索ダイアログ

図5: フォルダ検索の結果

また、行を範囲選択して[CTRL]+[SHIFT]+[↑]もしくは[↓]で選択行の移動ができたり、[CTRL]+[Q]でコメントアウト、コメントの解除ができるなどプログラミング向けの編集機能が充実している。記録した操作を繰り返し実行可能なマクロ機能も搭載しているほか、[実行]メニューからは編集中のファイルをWebブラウザで開いたり、選択した単語をGoogleやWikipediaで検索することができる。

図6: 実行メニュー

プラグインによる拡張

Notepad++の特徴の1つがプラグインで機能を拡張できるという点だ。Notepad++には標準で複数ファイルの比較を行うためのCompareプラグイン、FTPサーバ上のファイルを編集可能なNppFTPプラグイン、ソースコードなどをRTF/HTML形式でクリップボードにコピーできるNppExportプラグインなどが同梱されている。

プラグインのインストールやアンインストールはプラグインマネージャで行うことができる。

図7: プラグインマネージャ

以下はExplorerプラグインをインストールした場合の例だ。エディタの左側にツリーペインが表示され、ファイルシステムをブラウズすることができるというものだ。

図8: Explorerプラグイン

まとめ

Notepad++はウィンドウ幅で折り返した場合の挙動など、プログラム以外の文章を編集するためのエディタとしての使い勝手には疑問を感じる部分も多い。特に日本語の文章を編集するためのエディタということであれば別のエディタを使用したほうがいいだろう。

ただし、Windowsで動作する軽量で高機能なプログラミング向けのテキストエディタを探しているのであれば目的に一致するはずだ。基本機能が充実しているだけでなく、プラグインによる拡張が可能という点も大きな魅力だ。是非試してみて欲しい。