2011年8月アーカイブ

 ファイル操作のなかで知っておくと便利な小ワザがいろいろあるが、カーソル移動系のコマンドもそのひとつである。とくに大きなファイルや複数のファイルを同時に開いたり処理したりするときに、通常のカーソル移動やマウス操作では実現できない、知らないひとには驚くべき裏技がいろいろあるのである。しかもこれらのカーソル移動系のワザはあまりメニューバーに登録されていないことが多いので、知らないとまったく使えないが、使いこなせたらこれを使わないことが情けなくなるほど役に立つワザばかりなのである。わたしとしてもこれらを順次紹介していくのはとてもうれしいところで、これらはまさに「知っていると得をするパソコンTIPS」なのだ。
 とりあえず秀丸エディタの分類にしたがって「カーソル移動系」コマンドを確認すると、知っておくべきコマンドは「指定行」「行頭に移動」「行末に移動」「論理行頭に移動」「論理行末に移動」「ファイルの先頭」「ファイルの最後」「最後に編集した所」「前ページ」「次ページ」「現在行をマーク/マーク解除」「マーク一覧」である。
 このうち一般的なのが、「指定行(への移動)」で、このコマンドは比較的一般的に「Ctrl+G」のキー割り当てがなされている。これはQXエディタでもLightWayTextでもデフォルトで設定されているので、とくに変更する必要はない。ただし、このコマンドは行番号がわからないとあまり意味がないという面ももつ。特定の行番号を反復利用するようなときには有効だろう。
「最後に編集した所」コマンドは直前に編集行為のあったところへ戻るもので、秀丸ではデフォルトで「Ctrl+L」が割り当てられているので、これを流用する。QXエディタではデフォルトで「Shift+F5」が割り当てられているが、変更したい。LightWayTextにはこのコマンドは用意されていない。
 重要なのは、カーソルをファイルの先頭、論理行頭、行頭に一気に移動するコマンド、それと反対にファイルの最後、論理行末、行末に一気に移動するコマンドである。
 秀丸ではデフォルトでは「Ctrl+Q」でメニューを呼び出し、「ファイルの先頭」「ファイルの最後」「行頭に移動」「行末に移動」などを選択するようになっている。これでは面倒くさいし、すでに「Ctrl+Q」には「保存して終了」コマンドを割り当てているので、ここでは以下のようなコマンドを割り当てたい。QXではファイルの「先頭へ」「最後へ」にそれぞれ「Ctrl+Home」「Ctrl+End」がキー定義設定されているので、これでもよい。
 ファイルの先頭:Ctrl+Up(上の矢印キー)
 ファイルの最後:Ctrl+Down(下の矢印キー)
 論理行頭に移動:Ctrl+Left(左の矢印キー)
 論理行末に移動:Ctrl+Right(右の矢印キー)
 行頭に移動:Alt+Left(左の矢印キー)
 行末に移動:Alt+Right(右の矢印キー)
 ここで「論理行頭」「論理行末」というのは段落の最初と最後という意味であり、たんに「行頭」「行末」というのはカーソル位置行の最初と最後という意味である。カーソル位置から見た相対的視点であり、とくに「行末」コマンドなどは途中で修正したりしてカーソルが行の途中にあるときなど、このコマンドを働かせるとすぐ入力位置にカーソルを移動させることができるので、実用的である。なお、QXとLightWayTextには「論理行頭に移動」「論理行末に移動」のコマンドはない。ぜひ追加してほしい。
 なお、「前ページ」「次ページ」にはそれぞれ「PageUp」「PageDn」キーがあるので、それですませればいい。出先などでマウスがないときにはこのキーを押すだけで処理ができるのは具合がいい。ただし、機種によってはこれらのキーがない場合もありうるので、そのためには以下のコマンド割り当てをしておこう。
 前ページ:Alt+Up(上の矢印キー)
 次ページ:Alt+Down(下の矢印キー)

 ある大きなテキストファイルを継続的日常的に操作している場合、よくあるのは基点となるべき特定の行に必要に応じてジャンプできるようにしたいという事情が生じることである。本で言えば、現在読んでいるページやそれに対応する目次や注のページなどにしおりを挟んでおくようなものである。これをエディタ上では「マーク」と呼び、その該当する箇所(行全体)にこのマークを付けることによって、このマーク箇所を一覧から呼び出し、カーソルをそこへ一気に移動させることができるのである。
 長いファイルや構成的なファイルを構築(執筆・編集)しているときなど、たえずこのマーク機能を使ってページをすばやく移動させたり戻ったりすることができる。前項で挙げた「行頭に移動」「行末に移動」「論理行頭に移動」「論理行末に移動」「ファイルの先頭」「ファイルの最後」のように一般的なカーソル移動とは異なり、このマークはファイル作成者に固有のものであり、自由に選択し削除することができるものである。わたしなどは自分の年間の日録のように1メガバイト以上になるような巨大なテキストファイルや、いま書いているこの原稿のような全体の構成を同時に進めていく必要のあるようなテキストファイルにこのマーク機能を欠かせないものとして利用している。これを使わないと必要な箇所を見つけるために手間がかかってしまい、甚だ効率が悪いことになる。この機能を構成するコマンドは、カーソルのある行に「マーク」を設定または解除するコマンドと、マーク行の一覧を表示するコマンドである。これは非常に必要度の高いコマンドであるので、できるだけ簡単なキー割り当てをすべきである。
 秀丸ではこれらのコマンドにキー割り当てさえされていない。そこで以下のようにキー割り当てを設定する。
 マーク一覧:F11(デフォルトでは「行番号表示/非表示」)
 現在行をマーク/マーク解除:F12(デフォルトでは「アウトライン解析」)
 操作の方法は、マークの必要な行の左端にカーソルを動かしてF12キーを押すとその行がマークされる。それを繰り返して必要なマーク設定をすれば、それらの箇所はF11キーを押すと現われるマーク一覧に表示される。そこにはファイル名と行数(論理行数)も表示されている。
 今度は逆に、F11キーを押してマーク箇所の一覧を呼び出し、その一覧のなかから該当するマーク箇所をダブルクリックするか選択して「移動」ボタンを押す(優先的に「移動」が選ばれているのでマークを選択してEnterキーを押すだけでもよい)と、その箇所にジャンプする。このマーク一覧で特定の行を選び削除したり「全てクリア」(全削除)することもできる。(*)また、複数のファイルでマークを付けることもできるので、マークのあるファイルのどれかを開いている状態でこのマーク一覧を呼び出すと、別のファイル名とその行数も表示されるので、それをダブルクリックすると、そのファイルを開くと同時にそのマーク箇所にジャンプする(一種のタグジャンプ)ことができる。
 同じことはQXエディタでもLightWayTextでも言えることだが、まずQXエディタでは「カーソル行にマーク設定または解除」コマンドに「Ctrl+F2」が設定されており、「マーク行一覧」には設定がない。これを秀丸と同じようにF12とF11キーのキー定義設定をしなければならない。(**)同じように、LightWayTextでも「マーク設定」には「Ctrl+M」が設定され、「マークリスト」は設定されていないので、これも変更・設定する。LightWayTextではこのマークリストは「検索」メニューの「マークリスト」の下にマーク名とともに登録されるので、ここからのジャンプも可能となる。そのためにはマーク設定のさいにマーク名を登録する手間がかかる。なお、このマークリストはQXでは保存されるが、LightWayTextではアプリケーション終了とともに消えてしまうのが致命的な弱点だ。

(*)秀丸ではこのマーク一覧を記憶することができるので、パソコン再起動後にも再利用できるが、機種が変わってその間にファイルに変動があると、このマークがずれてしまうという問題がある。その場合、F11でマーク一覧を呼び出し、マーク箇所にジャンプさせてF12でマークを解除し、移動先にカーソルを動かして再度F12でマークし直す必要がある。マークがずれないようになるとありがたいので、改善をお願いしたい。
(**)「41 テキストエディタにおけるファイル操作の基本1」で既述したQXのキー定義設定の方法を参照してほしい。

 高機能テキストエディタでは文字データをさまざまな文字コードで表示することができ、必要におうじて切り替えることができる。いまや一般的なのは国際標準と言えるUNICODEのUTF8(Unicode Transformation Format-8)であり、日本語独自のShift-JISは日本語環境のなかでは通用するが、メールやテキスト交換などで広くやりとりするにはあまり適切ではない。環境がちがえば文字化けしてしまうのである。その点、UTF8はその心配がない。その意味でこれからはテキストファイルの作成自体をUTF8で実現していくことをお奨めしたい。
 しかしながら、事情によってはUTF8からShift-JISに変換したり、その逆をおこなったりする必要があるときがある。たとえば、わたしが愛用しているWinLPrtなどはUTF8のテキストデータをバイナリファイルと読み違えをしてしまうので、ファイルを印刷するときには、このデータの文字コードおよび改行コードをShift-JISおよびWindows用に変換しなければならない。こうしたときに必要な処理がエンコーディングであるが、これがちょっと面倒くさい。あまり使われることのないコマンドという位置づけのせいか、秀丸エディタでもキーコマンドの設定はないし、メニューバーの「ファイル」メニュー~「エンコードの種類」のプルダウンから文字コードの種類と改行コードの種類をいちいち選択しなければならない。これでは面倒なので、わたしは次のようにキーを設定している。
 UNICODE(UTF-8):Alt+U
 日本語(Shift-JIS):Alt+S
 改行=LF:Alt+X
 改行=CR+LF:Alt+W
すなわち、AltキーをベースにしてUNICODEにするには頭文字のUを、Shift-JISにするには頭文字のSをあて、改行コードをUNIX系のLF(LineFeed)にするには最後の文字のXを、Windows系のCR(CarriageReturn)+LFにはWindowsの頭文字のWをあてることにして覚えやすくした。なお、「上書き保存(改行=LF)」というコマンドもあるので、これに「Ctrl+Alt+S」というキー割り当てをしておけば、上書き保存するときにUNIX系の改行コードに変換しながら保存するので、改行コード変換の手間をひとつ減らすことができる。
 なお、このコマンド自体はQXエディタやLightWayTextにはない。QXでは「その他」メニュー~「共通設定」~「表示」で表示漢字コードをShift-JISやUNICODEなどから選択できるだけである。LightWayTextでは「書式」メニュー~「テキストファイル形式」で改行コード(Macintosh、Windows、Unix)と文字コード(Shift-JIS、JIS、EUC)を選択するだけで、あまり機能しない。ここは秀丸のキー割り当ての幅広さが優る。

このアーカイブについて

このページには、2011年8月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2011年7月です。

次のアーカイブは2011年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。