Vimでファイルの往来

vim-title

ファイルの往来というか、Vimではバッファと呼ぶので、バッファの往来です。

使用するダミーファイルを10個生成します。

~$ ls
~$ 
~$ seq 100 | split -dl10
~$ ls
x00  x01  x02  x03  x04  x05  x06  x07  x08  x09
~$ 

早速Vimを起動しましょう。先ほど生成した全ファイルを指定します。

~$  vim *

vim-001
全ファイルを指定しましたが、このように最初のファイル(バッファ)しか表示されていません。他ファイルはどこへ行ったのでしょうか。 Vim上で:lsを実行してみましょう。

:ls

vim-002
他ファイルもバッファリストに存在していますね。:lsと:buffersは同じ意味です。

バッファは、:n(次のバッファ)、:N(前のバッファ)で切り替えできますが、全バッファリスト中の、どのバッファを編集中か確認するために、:lsと組み合わせてバッファの切り替えをできるようにしてみます。mapで、ファンクションキーのF3,F4に割り当てます。

:map <f4> :n<CR>:ls<CR>
:map <f3> :N<CR>:ls<CR>

キーの割り当てができたので、使ってみます。F4は、次のバッファ+バッファリスト表示です。
F4
vim-003
%a の位置のバッファが、現在編集中のバッファとなります。

F4キー、ワンストロークで、次のバッファに切り替わります。
vim-004
F3で、前のバッファに戻ります。
vim-005
Enterキーで編集画面に戻ります。
vim-006
さて、終了する場合は:qでよいでしょうか?

:q

vim-007
「編集すべきファイルがあと8個あります」と表示されてしまいました。なぜ9個ではないのか疑問ですが、もう一度:qを実行します。

:q

vim-008
終了できました。
さて、さきほどのなぜ9個ではないのかの疑問ですが、もう一度Vimを起動して確認してみましょう。

~$ vim *

起動したら、10個目のバッファへ切り替えるため9nを実行します。

:nn

vim-009
ここで:qで終了をしましょう。注意されるでしょうか。

:q

vim-008
注意されることなく終了できました。他のバッファに切り替えていなくても、最後のバッファに切り替えた時点で、warningのフラグが落ちるようですね。さきほど 「編集すべきファイルがあと8個あります」と表示されたのは、2番目のバッファに切り替えた後だったからということでしょう。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA