特別企画

「EmEditor」v9徹底解説 前編 “スニペット”機能をマスターして楽々&高速入力

毎日書いてる挨拶文、HTML文書の編集、プログラミングの構文補完などで大活躍!

(10/02/10)

「EmEditor Professional」v9「EmEditor Professional」v9

 Windows用のテキストエディターといえば数多くのソフトが存在するが、そのなかでも長年にわたりバージョンアップを繰り返し、今や定番テキストエディターと言えるのが「EmEditor Professional」(以下、「EmEditor」)だ。

 「EmEditor」の特長は、テキストエディターとしての使いやすさと機能の豊富さ、そしてプラグインやマクロにより機能を自由に拡張できる点にあるだろう。


 とくにプラグインが充実しており、複数テキストの差分を表示できる“Diff”やフォルダツリーを表示する“エクスプローラ”、文書構造を解析してツリー表示する“アウトライン”、プログラミングのソースコードを管理してコンパイル・実行できる“プロジェクト”といった12個のプラグインが標準搭載されている。原稿やメールといった一般的な文書作成から各種プログラム言語のソースコード編集まで幅広いテキスト編集に活用できる便利な機能だ。

 なかでも、昨年10月に公開された最新シリーズであるv9で大幅に強化されたのが“スニペット”プラグイン。これまでも簡易的な“スニペット”機能をもつプラグインが同梱されていたが、v9ではこれをゼロから再設計。HTML文書の作成やプログラムのコーディングに便利な約600個のスニペットが標準登録されるようになったほか、強力な自動補完機能などが盛り込まれ、テキストの編集にかかる時間を大幅に短縮できるようになった。

「EmEditor Professional」v8の“スニペット”プラグイン「EmEditor Professional」v8の“スニペット”プラグイン

「EmEditor Professional」v9の“スニペット”プラグイン「EmEditor Professional」v9の“スニペット”プラグイン

 本特集では、「EmEditor」の“テキスト作成ツール”としての魅力とその活用方法を、主にv9の新機能を取り上げながら2回にわたって紹介する。前編となる今回は、大幅に強化された“スニペット”機能にフォーカスを当てた。スニペットの概要から基本的な使い方、さらには一歩進んだ高度なテクニックなども併せて紹介する。

スニペットの基本概要――どういった場面で活用できる?

 “スニペット(snippet)”とは、もともと英語で“切れ端”“断片”を意味する言葉。転じて頻繁に利用するテキストの断片、つまり“定型句・定型文”のことを指すようになった。高機能なテキストエディターでは、このようなスニペットを登録して簡単に利用できる機能を備えているのが一般的で、もちろん「EmEditor」にも搭載されている。

 「EmEditor」のスニペット機能はソフト本体とは別にプラグイン化されており、[ツール]-[プラグイン]-[スニペット]メニューのチェックをONにしたり、“プラグイン”ツールバーにある“スニペット”ボタンを押すことで専用のサイドバーが現れ、“スニペット”プラグインが利用可能になる。

 スニペットの挿入は、以下の5つの方法が利用できる。

  • スニペットのダブルクリック
  • スニペットを右クリックして[挿入]メニューを選択
  • スニペットをエディター画面へドラッグ&ドロップ
  • エディター画面上でトリガー文字列を入力して[Tab]キーを押す
  • エディター画面上でショートカットキーを入力する

 とくに便利なのが、トリガー文字列を利用する方法とショートカットキーを入力する方法だ。これらスニペットの自動補完機能をマスターすれば、テキストの入力を省力化して、格段に高速化できる。

実際にスニペット機能を試してみよう

 では、実際にHTMLのタグ入力を例にスニペットの自動補完機能を試してみよう。

トリガー文字列による自動補完

編集モードを“HTML”へ設定し、“スニペット”サイドバーを開いた状態に編集モードを“HTML”へ設定し、“スニペット”サイドバーを開いた状態に

 トリガー文字列とは、登録されたスニペットを呼び出すキーワードのようなもの。たとえば、編集モードを“HTML”へ設定し、“スニペット”サイドバーを開いた状態で以下のように入力しよう。


p

 すると、“<p></p> (Tabキーを押すと入力します)”というツールチップが現れる。

“p”と入力すると、ツールチップが現れる“p”と入力すると、ツールチップが現れる

 続いて[Tab]キーを押すと入力したテキストが

<p>|</p>

 という内容に置き換わる(“|”はカーソル位置)。この場合、“p”というテキストがトリガー文字列となって、“<p>”タグのスニペットを呼び出したことになる。

ショートカットキーによる自動補完

 続いて、[Ctrl]+[B]キーを入力してみよう。すると、以下のように入力されるはずだ。

<p><strong>|</strong></p>

 これは、[Ctrl]+[B]キーがテキストを強調表示するためのHTMLタグ“<strong>”のスニペットを呼び出すショートカットキーになっているため。ほかにも、[Ctrl]+[U]キーで下線表示するための“<u>”タグなどを呼び出すことも可能。

 このように、なかなか覚えられなかったり、入力が面倒なタグや単語、定型文をスニペットとして登録し、トリガー文字列またはショートカットキーを割り当てておけば、簡単に呼び出して利用できるわけだ。慣れてしまえば以下のHTMLタグも、ものの10秒程度で入力できる。

<html xmlns="http://www.w3.org/1999/xhtml">  <head>  	<meta http-equiv="Content-type"                   content="text/html; charset=shift_jis" />  	<title>Sample Site</title>  	  </head>  <body id="">  	<p>Hello! World</p>  </body>  </html>

HTMLタグの入力例(FLV形式)

MEMO[表示]-[トリガーキー]項目をONにすると便利

[表示]-[トリガーキー]項目をONにしておくと、トリガー文字列を簡単に確認できて便利[表示]-[トリガーキー]項目をONにしておくと、トリガー文字列を簡単に確認できて便利

 初めのうちは、サイドバーの右クリックメニューにある[表示]-[トリガーキー]項目をONにしておこう。スニペット右横にトリガー文字列およびショートカットキーが表示されるので、簡単なヘルプ代わりにすることができる。

 ついでに、[表示]-[トリガーキー]項目もONにしておこう。フォルダ内のスニペットが、どの編集モードで利用できるか簡単に把握できる。この機能については、後述の“スニペットの自動補完機能を利用する編集モードを制限する”を参照してほしい。


自分にあったスニペットがない?だったら作ってしまおう!

 標準のスニペットはプログラミング用途に偏っており、普通の文章を書くためのスニペットは用意されていない。しかし「EmEditor」では、スニペットを自作することも可能。試しにメールの冒頭などでよく使う挨拶文を簡単に挿入できるスニペットを作成してみよう。

スニペットの作り方の基本

スニペットのプロパティダイアログ([全般]タブ)スニペットのプロパティダイアログ([全般]タブ)

 まず、サイドバー上を右クリックして[フォルダの新規作成]メニューを選択し、スニペットをまとめておくフォルダを作成する。メニューを選択すると表示されるダイアログでは、[全般]タブの“名前”欄にフォルダ名を入力しておこう。今回はとりあえずフォルダの名前を“挨拶文”としておく。

 次にフォルダの右クリックメニューから[スニペットの新規作成]メニューを選択する。するとダイアログが表示されるので、[全般]タブで必要な情報を入力していこう。今回は以下のように設定した。


名前:お疲れ様です  トリガー:otu  既定のショートカットを使用:ON  ショートカット:空白  ヒント:空白または任意の説明文  種類:スニペット  テキスト:お疲れ様です。窓の杜の柳です。

 これで、“otu”というテキストの入力後に[Tab]キーを入力すれば、“お疲れ様です。窓の杜の柳です。”というテキストを挿入できるようになる。なお、トリガー文字列には“お疲れ様”といった全角文字も利用できる。

“otu”というテキストの後に[Tab]キーを入力すれば、“お疲れ様です。窓の杜の柳です。”というテキストを挿入できる

 また、ショートカットキーを利用した自動補完入力を利用したいならば、以下のように設定すればよいだろう。

名前:お疲れ様です  トリガー:空白  既定のショートカットを使用:OFF  ショートカット:Ctrl+Shift+O  ヒント:空白または任意の説明文  種類:スニペット  テキスト:お疲れ様です。窓の杜の柳です。

 これで、[Ctrl]+[Shift]+[O]キーを押すだけで、“お疲れ様です。窓の杜の柳です。”と入力できるようになる。

 さらに、トリガー文字列と任意のショートカットキーを組み合わせた利用も可能。たとえば以下のようにすれば、“otu”と入力したのち[Ctrl]+[Enter]キーでスニペットを挿入できる。

名前:お疲れ様です  トリガー:otu  既定のショートカットを使用:OFF  ショートカット:Ctrl+Enter  ヒント:空白または任意の説明文  種類:スニペット  テキスト:お疲れ様です。窓の杜の柳です。

スニペットの自動補完機能を利用する編集モードを制限する

スニペットのプロパティダイアログ([設定タブ])スニペットのプロパティダイアログ([設定タブ])

 さらに、任意の編集モードでのみ、トリガー文字列やショートカットキーによるスニペットの自動補完を利用可能にするといったことも可能。たとえば、C/C++のプログラミングで挨拶文のスニペットを利用することはない。そんなときは、挨拶文のスニペットを“Text”モードでのみ利用し、“C/C++”モードでは利用しない、といった設定にしておけば誤操作を防ぐことができる。

 スニペットの自動補完機能を利用する編集モードを制限するには、まずスニペットのプロパティダイアログを開き、[設定]タブへ切り替える。続いて、“次の設定でのみオート コンプリートを行う”のチェックをONにしたのち、“設定”リストで利用したい編集モードにチェックを入れればよい。

 自動補完機能のON/OFFは、フォルダ単位またはスニペットごとに設定可能。なるべくフォルダ単位で管理して、編集モードと対応した名前にしておくと管理が楽だ。「EmEditor」の標準では、“C/C++”モードで利用できるスニペットは“C/C++”フォルダへ、“HTML”モードで利用できるフォルダは“HTML”フォルダへまとめられている。

 実は、最初に例として挙げた“<p>”タグや“<strong>”タグといった“HTML”フォルダに納められているスニペットは、“HTML”モードなどでのみ利用できる設定になっていた。そのため、スニペットを利用する前に、編集モードを“HTML”へ変更する必要があったわけだ。スニペットの自動補完機能が利用できない場合、編集モードの設定が誤っている可能性があるので見直してみよう。

MEMO“スニペット”サイドバーを表示せずにスニペット機能を利用するには?

スニペットプラグインのプロパティ画面スニペットプラグインのプロパティ画面

 スニペットに慣れてくると、わざわざサイドバーを参照せずに利用できるようになるだろう。そうなると、サイドバーが邪魔に思えるかもしれない。そんなときは、スニペットプラグインのプロパティで、“バックグラウンドでも実行”のチェックをONにしよう。そうすれば、スニペットサイドバーが非表示の場合でも、スニペットプラグインを利用できる。

 スニペットプラグインのプロパティ画面は、[ツール]-[プラグイン]-[プラグインの設定]メニューを選択したのち、“プラグインの設定”画面上のリストから“Snippets”を選択して[プロパティ]ボタンを押せば表示可能。

 プロパティ画面ではそのほか、ツールチップの表示時間や、ツールチップに表示される情報の量を調節できる。最適な設定を自分で探してみよう。


さらに高機能なスニペットを作成してみる

“p”タグのスニペット“p”タグのスニペット

 以上、挨拶文のスニペットの作成を通して、基本的なスニペットの作成方法を紹介した。ほとんどのユーザーはこれだけマスターしておけば問題はない。しかし、プログラミングなどに利用する場合には、少し力不足に思えることもある。そんなときは今から紹介する機能が役立つだろう。

編集位置をあらかじめマークしておき、[Tab]キーでジャンプ可能にする“プレースホルダー”機能

 最初に挙げた“<p>”タグのスニペットを挿入したとき、カーソルの位置がタグの間に自動で移動したことを覚えているだろうか。


<p>|</p>

 このように、スニペット挿入後のカーソル位置を指定できるのが“プレースホルダー”機能だ。HTML/XMLタグや変数などを含む定型句では、挿入したあとに値を指定したい場合がよくある。そんなときは、プレースホルダー機能で編集位置の情報を埋め込んでおけば、編集作業の効率がさらに向上する。

 “プレースホルダー”はスニペット内へ“${数字}”という書式のテキストを埋め込んで指定する仕組み。たとえば、“<p>”タグのスニペットの内容は、余計な情報を除くと以下のようになっている。スニペットを挿入すると、“${0}”の位置へカーソルが移動する。

<p>${0}</p>

 プレースホルダーは、“${1}、${2}、${3}……”といった連番で複数設定可能。スニペットの挿入直後には[Tab]キーで順番に編集箇所をジャンプ移動できる。逆に、[Shift]+[Tab]キーで後戻りすることも可能。連番は1から9を利用可能で、一番最後に移動するプレースホルダーにはそれとは別に“${0}”を指定する仕組み。

 たとえば、JavaScriptの繰り返し構文(for文)は以下のように記述しておくと、編集箇所を順番に[Tab]キーで移動できるので、変数や数値の入力に専念できる。

for (${1} = ${2}; ${3} < ${4}; ${5}++) {      ${0}  }

プレースフォルダー機能を利用して作成した“for”スニペットを利用した様子(FLV形式)

“プレースホルダー”へ初期値を設定しておく

 また、プレースホルダーには“初期値”を指定しておくことも可能。繰り返し構文では変数“i”に初期値“0”を利用することが多いので、それをプレースホルダーの“初期値”として指定してみたのが以下のスニペットだ。

for (${1:i} = ${2:0}; ${3:i} < ${4}; ${5:i}++) {     ${0}  }

初期値を設定した“for”スニペットを利用した様子(FLV形式)

 初期値の通りで問題がなければ、そのまま[Tab]キーで次のプレースホルダーへ移動すればよく、入力作業をさらに省略することが可能。

同じ値なら2度入力する必要はない!“ミラーリング”機能を活用

 この繰り返し文のスニペットは、さらに強化することもできる。

 先ほどのスニペットでは、“${1} ”“${3}”“${5}”の初期値が同じであることに注目してほしい。「EmEditor」では、このように同じ値が入るプレースホルダーがある場合、その値をコピーして同じ値に保つ“ミラーリング”という機能を搭載している。

 利用するには、以下のように同じ値としたいプレースホルダーには同じ連番を入力しておけばよい。

for (${1:i} = ${2:0}; ${1:i} < ${4}; ${1:i}++) {      ${0}  }

ミラーリング機能を利用して作成した“for”スニペットを利用した様子(FLV形式)

 “${1:i} ”プレースホルダーの値を変更すると、3カ所同時に値が更新されることがわかるだろう。

上級者向けのスニペット機能

 そのほかにも、さまざまな機能が用意されている。たとえば、“${Date}”(今日の日付)や“${Filename}”(拡張子を除くファイル名)といった特別な意味をもつ“定義済みパラメータ”を利用すれば、時間やファイルなどに関する情報をスニペットへ埋め込み可能。“定義済みパラメータ”の一部は、スニペットのプロパティ画面のテキスト欄横にあるメニューから簡単に挿入して利用できる。

 また、コンソールアプリケーションを実行して、その結果をカーソル位置へ挿入する“シェルコード”もユニーク。たとえば、“DIR”コマンドの結果をエディター画面へ挿入するといったことも可能。コマンドプロンプトのほか、「PowerShell」なども利用できる。

# コマンドプロンプトで実行する  `#cmd dir`    # PowerShellで実行する  `- powershell -  Get-ChildItem "${Dir}"  exit  `

 これらの機能は自作のスニペットで利用できるほか、一部はスニペット化されて“General”フォルダへ納められており、実際にトリガー文字列などで呼び出すこともできる。

電卓を呼び出す“Calculator”スニペット電卓を呼び出す“Calculator”スニペット

“DIR”コマンドの内容を挿入する“Dir”スニペット“DIR”コマンドの内容を挿入する“Dir”スニペット

 さらに、正規表現を利用したスニペットを作成することも可能。たとえば、以下の例は入力したアルファベットを最初の文字だけ大文字にして“ミラーリング”する。

$1  ${1/./\U\0/}

最後はやはりマクロ?

 これまで見てきたように、「EmEditor」のスニペットは非常に強力で、たいていのことをこなせる。しかし、入力または選択したテキストの加工や、条件分岐・繰り返しなどの複雑な処理を必要とする場合など、スニペットだけでは対応できない場面もある。

 そんなときは、マクロの出番となる。「EmEditor」では、マクロの言語としてJavaScriptやVBScriptを利用できるので、これらの言語に親しんだユーザーなら、比較的簡単に作成することができるだろう。

 「EmEditor」のスニペットサイドバーには、マクロを登録しておくことも可能。スニペットでは対応できない場面でも、マクロを利用すればクリアできることが多い。スニペットサイドバーに登録したマクロは、通常のスニペットのようにトリガー文字列やショートカットキーを利用して呼び出すことも可能だ。「EmEditor」では標準でいくつかの便利なマクロが最初から同梱されている。

半角の引用符(半角の引用符("")を全角の引用符(“”)へ変換する“Educate Quotes”マクロ

「Microsoft Outlook」で編集中のテキストをメールで送信する“Send e-mail with Outlook”マクロ「Microsoft Outlook」で編集中のテキストをメールで送信する“Send e-mail with Outlook”マクロ

最後に

 「EmEditor」のスニペット機能の威力を実感いただけたであろうか。あまりに多機能であるため『使いこなせないかもしれない……』と不安になる人もいるかもしれないが、心配はいらない。よく利用する編集処理や、ぱっと見て便利だなと感じた機能から少しずつ覚えていけば、最終的にはテキストの編集効率が劇的に向上しているはずだ。

 そのほかにも、「EmEditor」v9ではカンマ区切りやタブ区切りのファイルを表計算ソフト風に編集できる“CSV/TSV”モードや部分編集機能、括弧の自動補完といった魅力的な新機能を数多く搭載している。後編では、それらの機能にスポットを当ててご紹介する予定だ。

(柳 英俊)