Hack #11: argument listを利用して複数のファイルを取り扱う
Posted at 2009/05/15ツイート
概要
テキスト編集が単一のファイルのみで済むことは稀です。実際には複数のファイルを取り扱うことがほとんどです。Vimで複数のファイルを取り扱う方法は色々とありますが、ここではargument listを用いたものについて述べます。
argument listとは何か
Vimを起動した場合、特に何も引数を与えていなければ内容が空のバッファが作成・表示されます。起動に際しファイル名を与えていた場合、そのファイルが読み込まれたバッファが作成・表示されます。
ここで複数のファイル名を与えた場合、Vimは最初のファイルに対応するバッファが表示された状態で起動します。では残りのファイルについてはどうなったかというと、Vimは何が指定されたかを記憶しており、これらのファイルの一覧のことをargument listと言います。
Vimではargument listに対する様々なコマンドが提供されており、これを利用することで複数のファイルの取り扱いを便利にすることができます。
基本的な使い方
ここでは例としてvim Makefile foo.c foo.h
としてVimを起動したとします。Makefileが表示され、foo.cとfoo.hは画面上には見えない状態です。
:next
- argument list内の次のファイルを開きます。
- 例: 現在開かれているファイルはMakefileですから、その次のfoo.cが開かれます。
:previous
:Next
:next
の逆で、argument list内の前のファイルを開きます。一見不自然な:Next
は/
や?
による検索の繰り返しを行なうn
やN
との類似性から提供されています。- 例: 現在開かれているファイルはfoo.cですから、Makefileが開かれます。
:last
- argument listの最後のファイルを開きます。
- 例: argument list中の最後のファイルはfoo.hですから、foo.hが開かれます。
:first
:rewind
- argument listの最初のファイルを開きます。
- 例: argument list中の最初のファイルはMakefileですから、Makefileが開かれます。
:args
- argument listの一覧を表示します。
応用例
argument listは、本来はVim起動時に与えられたファイル群を取り扱うためのものなのですが、起動後に任意のファイルをargument listに設定することができます。これを利用すれば、argument list用の機能を用いて任意のファイル群を集中して取り扱うことが簡単にできます。
argument listの設定は:args {file} ...
で行うことができます。例えば特定の拡張子のファイルを取り扱いたい場合は:args *.c
のようにすることで一連のファイルをargument listに設定することができ、:next
/:previous
を用いて編集するファイルを素早く切り替えることができます。
ここでは基本的な利用方法についてのみ述べましたが、argument listについては他にも様々なコマンドがあります。詳細については:help argument-list
を参照してください。
もどる
blog comments powered by Disqus