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
とやります。