[目次] [前章] [次章]

3.文章を入力する

さまざまな入力モードへの移行方法


入力モードへ移行するには、6つの方法があります。
それを順次紹介して行きます。

i
現在のカーソル位置から挿入出来ます。 例えば、abcdeという文字がある状態で、カーソルがcのところにあったとすると、 iaと打てば、カーソルの位置からの挿入となるので、abacdeとなります。
a
現在のカーソル位置の次の位置から追加入力出来ます。 例えば、abcdeという文字がある状態で、カーソルがcのところにあったとすると、 aaと打てば、カーソルの次の位置からの追加となるので、abcadeとなります。
I(大文字)
iの変則バージョン。 カーソルを行頭に持って行きつつ、入力モードへ移行します。 つまり、0iとやったのと同じです。
A(大文字)
aの変則バージョン。 カーソルを行末に持って行きつつ、入力モードへ移行します。 つまり、$aとやったのと同じです。
o
現在カーソルがある行を改行し、次の行の先頭から入力出来ます。 A->(Enter)とやったのと同じです。
O(大文字)
oの変則バージョン。 現在カーソルがある行以降を全て一行押し下げ、空いた現在カーソルが ある行に入力することが出来ます。

同じパターンを複数回入力する


上で説明した、iやaを使った応用技です。
やり方は、(回数)(入力モードへ移行するコマンド)(入力する文字(列))(Esc)
例えば、xという文字を現在のカーソル位置に25回挿入したい場合は、
25ix(Esc)で、最後のEscは、エスケープキーを押して、コマンドモードに戻ることを意味しています。
また、xのように一文字だけでなく、
10ab(Esc)のように、2文字やそれ以上にも適用することが出来ます。
さらに、iの代わりにAやoを用いても、挿入位置が変わるだけで使用することが出来ます。

コマンドモードへ戻る


Escキーを押すだけです。
これをしないと、打ったキーの文字がどんどん入力されてしまって、
Viコマンドが使えませんね。



テキストファイルを挿入する


テキストファイルを任意の位置に挿入出来ます。
:(場所)r filename
というコマンドですが、場所には、100などの行や、
$(ファイルの最後)や0(ファイルの先頭)といった
アドレスシンボルなどを入れます。
特に何も指定しない場合は、カレント行に挿入されます。

タブと改行を表示する


言語などによっては、余計なスペースが入ってるとコンパイル出来なかったり、
タブ文字を禁止していたりと、これらの文字が邪魔な場合があります。
ただ、タブ文字は見えませんし、行末から改行の間のスペースも見えません。

そんな時に役立つのが、今回の機能です。
:set list
とやるだけで、改行を$で、タブを^Iで表示してくれます。

例えばこんな感じです。
-- 普通の表示 --
abcdef
    abcdef
    abcdef
end

-- set listでの表示 --
abcdef$
^Iabcdef$
^Iabcdef  $
end$

三行目の行末に隠されたスペースが出てきましたね。
ちなみに、この表示を解除するには、
:set nolist
とやります。

[目次] [前章] [次章]