テキストファイルの作成と編集

現在の技術水準では、文字入力による文書作成はコンピュータを使う作業の中でもっとも重要な地位を占めている。 テキストファイルの作成においては(キーボードを見ないで文字入力が正しくできること--タッチタイピング--はたいへん大切なことだけども)、文字列入力の速度向上以上に、効率よく編集作業が行えることが品質の高い文書作成にとって本質的である。

このため、文書作成において文字列編集だけでなく文書レイアウト機能を兼ね備えたワードプロセッサよりも、文字列だけからなるテキストファイルの作成・編集機能に特化したソフトウエアであるテキストエディタまたは単にエディタ(editer)を利用した方が生産性が高くなる。 ただし、コンピュータに「おまけ」として付いてくるエディタ、たとえばWindowsではメモ帳([スタート][プログラム][アクセサリ]メモ帳)、MacOSではTextEdit([Application]TextEdit)では能力不足である。 専用のエディタをインストールした上でユーザがその操作に習熟することは作業の効率蚊には欠かせない。

テキスト編集の基本

エディタを起動すると、キーボードから入力した文字列はテキストカーソル(text cursor)の位置に挿入される。 1つのエディタで複数のテキストファイルを開いて、それらのテキストウインドウを往き来しながら同時に編集する携帯が一般的である。

テキスト作成における編集作業の基本は次のようである。

選択文字列のコピー(Copy)
マウスでドラッグしてすることによって文字列を選択し、選択文字列をコンピュータのメモリ(クリップボードともいう)にコピーする。 (OSレベルでは、一般に最後にコピーされた文字列ブロックだけがクリップボードに残る。)
選択文字列の切り取り(Cut)
選択文字列を画面から切り取り去って、クリップボードに待避(コピー)する。 (OSレベルでは、最後に切り取ったあるいはコピーされた文字列ブロックがクリップボードに残る。
ペースト(Paste)
クリップボードにコピー(待避)されている文字列ブロックを、現在のテキストカーソルのある場所に書き出す(貼り付ける)。 依然として、クリップボードには同じ内容の文字列ブロックが残っているので、何度でも同じ文字列ブロックを書き出すことができる。

コピー、切り取りおよびペーストは異なるウインドウ間でも行うことができる。 カット&ペーストによって、選択した文字列ブロックを結果として別の場所に移動(move)させることが可能になる。

課題2:

使っているエディタで、次の機能
  • 選択文字列のコピー
  • 選択文字列のカット
  • クリップボードにある文字列のペースト
を実行するにはどうすればよいかを調べて、実際にその操作を確かめてみなさい。

キーボードショートカット

コピー、切り取りとペーストなどの基本編集操作は、利用する頻度が高い。 このために、次のようなショートカット(short cut)が用意されており、作業効率を飛躍的に向上することができる(以下の例では、1つ目のキーを押し続けた上で、継いで2つ目のキーを押して2つのキーが押された状態とすること)。 是非覚えておこう。

Copy Cut Paste
Windows Control + c Control + x Control + v
Macintosh Command + c Command + x Command + v
Controlキーは、キートップに「Ctr」とか「control」などと刻印されている。 また、Mac OSのcommandキーは、キートップに「⌘」のように刻印されている。

また、文字列に対する次のような検索・置換機能も基本的な編集操作である。

検索(find)
指定した文字列をファイル内から(または、テキストカーソルのある場所から)前方(forward)または後方(backward)に検索し、一致した文字列に順次テキストカーソルを移動する。
置換(replace)
指定した文字列をファイル内から(または、テキストカーソルのある場所から)前方または後方に検索し、一致した文字列を指定した別の文字列に置き換える。

文字列検索および置換文字列の記述に正規表現(regular expression)を用いると、さらに強力な編集作業を行うことができる。 たとえば、行末または行頭にある文字列や、xx月yy日という文字列パターンを指定することができる。

課題2:

使っているエディタで、次の機能を実行するにはどうすればよいかを調べて、実際にその操作を確かめてみなさい。
  • 文字列検索
  • 文字列検索・置換
  • 行頭文字列・行末文字列の指定

文字列入力上の配慮

文字列入力するにあたり、文書作成のための編集作業に支障のないように配慮すべきことがある。

言葉の揺らぎ
用語の使い方を統一し、単語検索・置き換えなどに支障がないように配慮した表現を心がける。 「積み木」と「積木」、「コンピュータ」と「コンピューター」や「WHO」と「WHO」(半角文字と全角文字)の差異などの表記の揺らぎがないようにして、文書全体にわたって表記を統一する。 また、「こと」と「事」、「できる」と「出来る」、「したがって」と「従って」など、漢字使いについても十分に考えて書くこと。
英数字・記号の入力モード
文字種は統一して入力する。 コンピュータ内部では、半角文字と全角文字はまったく違った文字として区別される。 とくに、英数字・記号において半角と全角文字の入力は見た目には区別が付きにくいことがあるので注意が必要だ。 数字の「1」とローマ字Lの小文字の「l」、数字の「0」とローマ字大文字「O」と小文字「o」などは常に注意しよう。 また、 「Japann」(全角)と「Japan」(半角)が混在しないように統一する。 編集作業において「Japan」を「JAPAN」に置き換えようとした場合、文字列「Japan」は放置されてしまう。 原則として、ローマ字や数字や各種記号は半角文字入力する。
数量表記

漢数字を数量表記に採用するかどうかをあらかじめ検討しておき、混在させない。 テキストから『数』を探し出す必要性は意外と多く,「一個」よりも「1個」というように数字に統一すると便利だ(原則は数字は半角で統一)。 十本とか百冊、千二十四ビットという表記では数を検索することが難しくなるからだ。

例えば、正規表現検索で「\d+」と文字列指定すると、「1」「0120」「1984」などが全てヒットする。 こうした表記は日本語の伝統的表現法を破壊しているという見方もあるが、利便性や確実性の理由によってこうした用法が広まっているのが現状だ。

1行の長さ

コンピュータにとっては、入力された文字列は一列に並んで記憶装置に保管される。 改行キー(ReturキーやEnterキー)を押して改行文字を入力することによって、コンピュータは改行文字から次の改行文字までの文字列を1行と見なす(これを論理行、または段落行ということがある)。

エディタによる編集作業において、「句点」で終わる文末の「である」を「です」に、文頭の「その次に」を「次に」と検索・置換する場合を考えてみよう。 1文(文頭文字から始まり句点で終わる文字列)を1論理行に書くようにしておくと、この作業は正規表現を使えば一括処理することが可能である。

エディタやワープロの表示では,ウィンドウ幅に収まらない行を自動的に折り返してくれる機能があることが多い。 このとき、長大は論理行(段落行)はエディタ画面では折り返されられて複数行にわたって表示されるのであるが、本当は1行である。 エディタで、表示行数でなはく、テキストファイル内の論理行(段落行)「真の行数」を表示することができ、たいへん便利である。

LaTeXではテキスト中の改行は仕上がりには影響せず、1つ以上の空行があると段落の区切りとして扱われる。 HTMLでは、テキスト中の改行は何行会ってもWebブラウザの閲覧表示には影響しない。 したがって、1論理行(段落行)の長さが長大にならないように、LaTeXファイルやHTMLファイルでは一文の終わりで改行することを原則としよう。 1文=1論理行とすると何かと都合がよいからだ。

編集履歴とバージョン管理

エディタでは、新しく上書き保存<する際に、元ファイル内容をバックアップとして自動的に書き出すように設定できる(拡張子 .bak などと自動的に付けてくれるようだ)。 これはファイルとして1世代前のものをバックアップとして記録するという方式である。 常に一回前の内容をバックアップとして残すことができ、ファイルの損失など不測の事態に最小のダメージで対応することができる。

バックアップの設定をしていたとしても、ファイルとして残されるのは最新とその一世代前の内容だけであり、それ以前の編集履歴に対応したファイル内容は失われてしまう。 紙による文書の編集作業は紙の上に「赤」を入れて行うため、どのような経緯で文書が修正されてきたか変遷履歴をたどることができる。 一方、コンピュータの場合、その変遷記録を保つためにバージョン管理システムが幾つか提案されている。 ソフトウエアの開発などでは、バージョンを上げたために不具合が発生することがある。 そのときは、不具合発生以前のバージョンに一旦戻ったうえで、不具合発生の原因を検討しながら新たに開発し直すのである。

バージョン管理システム導入は大がかりになるので、あとから履歴を辿りたいのであれば、編集しなおすたびに適切なタイミングでファイル内容をシステマチックなファイル命名方式にしたがって、別ファイルとして保存していくとよい。 たとえば、

基本名称 + 編集人 + 日付情報+ .拡張子
のように、ファイル名を定義することが考えられる。

課題3:

使っているエディタで、バックアップファイルの設定を調べなさい。

課題4:

ファイル名にバージョン管理が必要となる状況には、どのような場合があるかを考えてみなさい。