コマンドを実行してみよう(2)
-
「コマンドを実行してみよう(1)」では、簡単なコマンドを実行してみました。ここでは主にノート機能を説明します。ノート機能を覚えるといろいろなことができるようになります。
このページでは次のコマンドを使ってみます。
●ノート機能と複数行コピー/削除
●行移送
●ノート機能を使って保存「W」をしたらどうなるか
●ノート機能を使わない複数行コピー/削除/移送
- ●ノート機能と複数行コピー/削除
-
ノート機能というと何か難しいもののように感じますが、実際はそんなに難しくはありません。キーをちょっと押すだけです。
画面左下の方にある「NOTE」という部分と[PF1]キー、[PF2]キーを使います。
前ページで説明した1行削除や1行コピーは、1行だけしか削除やコピーができませんでした。ノート機能は複数の行の削除やコピー、移送etcを実現します。
実際にやってみます。会話型テキストエディタを起動して、「R」コマンドで適当な(壊れても良いような)テキストを読み込むか、「I」コマンドで作ってください。
画面の例で、ノート機能を利用して、16行目から20行目までを30行目にコピーしてみましょう。
まず16行目に移動して、[PF1]キーを押してください。
「NOTE」の「FROM」のところに「0016」と表示されます。
引き続いて、20行目までカーソルを移動して、また[PF1]キーを押します。
「NOTE」の「TO」のところに「0020」と表示されました。
ここで今までの作業をまとめましょう。コピーしたい最初の行で[PF1]キーを押し、最後の行でもう一度[PF1]キーを押して、コピーする行の範囲を決めます。Windowsのメモ帳で、マウスを使ってコピーする範囲を指定するのと同じです。
[PF1]キーを押す場所を間違えたときは、[PF2]キーを押します。範囲を指定していない状態に戻ります。
コピー先に移動します。今回の例では30行目にコピーするので、29行目にカーソルを移動します。(1行前にするのがコツ)
[PF9]キーか[フォーム]キーを押して、コマンド入力部にカーソルを移動します。
そして「C」と入力して、[ENTER]キーを押してください。
下の画面のように16行目から20行目が30行目にコピーされました。
このノート機能は、削除「X」や移送「M」、保存「S」などで使用できます。
次からノート機能を使った例をいくつか挙げてみます。
- ●行移送
-
まだ移送コマンドを使ってみていないので、ノート機能で移送コマンドを使ってみましょう。
移送とは、Windowsのメモ帳で「切り取り」して「貼り付け」をすることに相当します。
FROMとTOを使って複数行の移送もできますが、今回はFROMだけ使ってみましょう。必ずしもFROMとTOの両方とも使う必要はないということを確認してみます。
それでは4行目だけを別の場所に移送してみます。
4行目に移動して、[PF1]キーを押してください。「NOTE」の「FROM」に「0004」と表示されます。
1行だけ移送するならば、「TO」は不要です。
移送先にカーソルを移動します。
コマンド入力部にカーソルを移動して、「M」と入力し[ENTER]キーを押します。
カーソルの位置に4行目が移送されました。
以前1行コピーや1行削除を行いましたが、ノート機能のFROMだけを使って同じことができます。
- ●ノート機能を使って保存「W」をしたらどうなるか
-
ノート機能は保存でも有効です。ノートを使ったらどうなるか試してみましょう。
まず無くなっても壊れてもいいテキストを用意してください。 これから行う作業は確実にテキストを壊しますので、注意してください。「I」コマンドで適当なテキストを10数行分作るのが一番いいでしょう(「I」コマンドで新規にテキストを作った場合は「N」コマンドでテキスト名を付けるのを忘れないように)。
ノート機能は使わずに普通に「WN MSD002 TESTAPSUL」とやると、当然普通に保存できます。(必要ならば、一旦エディタを終了させ、もう一度読み込んでちゃんと保存できていることを確かめてみましょう。)
それでは、適当な行をノート機能で範囲指定してみてください。
下の画面の例では17行目を範囲指定しています。
ノート機能で範囲指定した状態で、テキストを保存してください。
下の画面の例では「WN MSD002 TESTAPSUL」として保存しています。
どのように保存されたか確認してみましょう。
一度エディタを終了して、もう一度エディタを起動してください。
そして「R」コマンドで先ほど保存したテキストを読み込んでみてください。
1行だけしか保存されていませんでした。保存の時にノート機能で範囲指定していた部分だけです。
ノート機能を使って保存すると範囲指定した部分だけ保存されます。
これは例えば1つのプログラムを複数分割して保存する時には非常に便利です。Nコマンドで名前を変更してノートで範囲指定して保存、別の名前に変更して別の場所を範囲指定して保存・・・と繰り返していけば簡単に複数のプログラムに分割できます。
一方うっかりノートで範囲指定したまま保存してしまった時は悲惨です。1日掛かって何十行ものプログラムを作成して、続きは次の日にしようと保存。この時うっかりノートで範囲指定していようものなら、次の日プログラム読み込んでみるとたった1行しか保存されていない。(私は1回これをやってしまいました。)
保存する前には必ずノートで範囲指定されていないかどうか確認するようにしましょう。
- ●ノート機能を使わない複数行コピー/削除/移送
-
ノート機能を使わなくても、複数行のコピーや削除や移送ができます。
例えば「C」や「M、「X」の後ろに数字で「どこから,どこまで」と指定することによって、その行をコピーしたり削除したりすることができます。
例えば、下の画面のように46行目の位置で「C 1,6」とコマンドを入力すると
46行目の次の位置に1行目から6行目をコピーすることができます。
上の例では、直接1や6と行番号の絶対値を入力しました。このほかに現在カーソル行(.)、現在カーソル行からの相対番号(+,-)、最終行(\)といった行番号指定子と呼ばれる特殊な文字も使用できます。行番号指定子は後ほど説明します。
例 説明 M 1,6 テキストの1行目から6行目までの6行を現在カーソルのある行の次へ移送する X .,.+2 現在カーソルがある行から現在カーソル行+2行目までの計3行を削除する C \-3,\ 最後の行からその3行前までの計4行を現在カーソルのある行の次へコピーする X .+5,\ 現在カーソル行から最終行までの行を削除する
1行削除のところで「X ALL」を説明しましたが、これは複数行削除の特殊なパターンです。
ノート機能の方が簡単なので、直接行番号で指定してコピーや移送をすることは少ないと思います。