正確にいうと,コンピュータでは改行を特殊な操作とは見なさずに,文字列中に単に改行文字 \n が挿入されたときに「改行して表示」してみせるだけである.
テキストファイルでの「一行」とは行頭(または改行操作)と改行操作の間に入力された文字列のことであり,これを論理行という. したがって,改行を行わない限りどんな長い文章もテキストファイルとして「一論理行」として表わされる.
Emacsでは,どんなに長大な一行でもエディタウィンドウに収まるように自動的に行を折り返してくれる自動ラップ機能があり,長大な論理行を見かけ上何行にもわたって表示してくれる. エディタウィンドウの右端に記号『//』があるときにはエディタが論理行を折り返していることがわかる.
テキストファイルを作成する場合にどのようなときに改行すればよいかは後の作業効率に大きく影響する. 原則的には
論理行を文章単位の文とを一致させることが望ましい. つまり,文の末尾にピリオド「.」やマル「。」を付けるときにだけ,改行することをテキストファイル作成の原則にするのである.
ただし,メールを書く場合には適当な幅になるように改行を心がけること. 半角で70文字,全角で35文字で改行をいれたメール文書が読みやすいようだ.
次の表の最初の文例では,行頭は「どんなに長い」で,行末が「煩雑になる」で終わる1論理行である.
長大な論理行 |
どんなに長い文字列も一行とすることができる. こうして句読点などで文がきれてもこれがテキストファイル上の行の切れ目とはならない. 文の切れ目はEnterを押すことによって初めて行の区切り,つまり改行される. このような長大な行では編集作業は大変煩雑になる.↓ |
---|---|
1文ずつ改行 |
どんなに長い文字列も一行とすることができる.↓ こうして句読点などで文がきれてもこれがテキストファイル上の行の切れ目とはならない.↓ 文の切れ目はEnterを押すことによって初めて行の区切り,つまり改行される.↓ このような長大な行では編集作業は大変煩雑になる.↓ |
後の例のように,1文を1つの論理行に対応させて書くというテキストファイルの入力ポリシーは,テキストファイルを元にして整形出力を得るようなWebページのためのHTMLファイルやLaTeXファイルの作成においてはその威力を発揮する.
一方,メールの送受信の文章の作成においては,一文の長さがウィンドウ幅以上にならないように適当な幅でそろえて改行するのがよい. メールでは論理行の長さが異なっていると読みにくいばかりか,メーラによってはウィンドウ表示幅を超えた一行を折り返すことなく表示して,メッセージが不正確に伝えられる場合もありえるからです.
とくに避けねばならないことは,無節操に『Apple』(全角文字)と『Apple』(半角文字)のように全角と半角文字を混在させることである. コンピュータでは,全角文字『A』と半角文字『A』(そしてその大文字・小文字)は違う文字として認識するために,エディタの検索機能を使って文字列を探しだしたり,置換したりする場合には効果的な処理ができなくなってしまう.
UNIXのコマンド行に全角文字を入れることは困難であり,システム環境によってはファイル一覧で漢字ファイルを正しく表示しない場合が多い. また空白文字をファイル名に用いた場合には,ファイル操作においてさまざまな困難に遭遇することになる.
どうしてもファイル名に空白を使いたくなった場合には,空白文字の代わりにアンダーバー『_』を使う.
研究:Windowsを使って漢字名をファイル名とするファイルを作成する. これをLinuxにおいて,ファイル・ディレクトリ一覧のコマンド ls で表したとき,どう表示されるか.