若干の補足、あるいはトリビア:
- 1 以上の整数として行番号を示すことができるが、実は 0 も許される。ただし多くの場合、0 は 1 に丸められる。ではどういう場合に 0 が役立つのかというと、たとえば
:10,20co0
のようにバッファ先頭へコピーしたい場合など。copy コマンドで指定するコピー先アドレスは、実際にはコピーされる位置の直前の行番号である。したがって、バッファ先頭である 1 行目へコピーしたい場合は 0 を指定する必要があるのだ。 - / ~ / の検索開始位置が曖昧な書き方になっていたが、正規表現を明示した場合であっても、省略した場合でも、検索開始位置はカーソルのある行の次の行からである。
- アドレスは最大 2 つまで指定できるのだが、実はもっと多くのアドレスを指定してもエラーにはならない。単にそれぞれのコマンドが必要とする最大のアドレスが、アドレス群の末尾から取られるだけである。つまり
:1,2,3p
は 2 行目から 3 行目までが対象となる。 - 指定の行へカーソルを移動させる場合、visual モードでは
[行番号]G
と入力するが、ex モードで:行番号
と入力する方法もある。このようにコマンドを省略した場合、内部的には暗黙的に print コマンドが選択される。ということはつまりコンソールに指定の行が出力されるはずであるが(:1pなどと入力したかのように)そうならないのは、コマンドを省略したアドレス部分から後続する文字列が \n である場合は特別扱いで何も出力しないからだ。したがって、 :|||
などと入力すると、現在行が 3 回 出力される(4 回ではなく)。