Memoize

BasicWerk   EC Support   Technique   Facebook  

20140606213531_vim_multi-file_edit

Vim で複数のファイルを開いた時の操作を簡単にまとめる。

 
% vi file1 file2
 

と開いたとする。

 

file1 から file2 への移動は :n

でも、カレントファイル(% がエイリアス)を :w などで保存しないと移動できない(何も変更していなくても)。

こういう時は ex コマンドを強制実行する ! を利用して、:n! とすると file2 へ移動できる。

 

同じく、カレントファイルがセーブしてある状態なら、Ctrl + ^ 若しくは :e# (# は一つ前のファイルへのエイリアス)で移動できる。

カレントファイルの保存を破棄して移動する場合は、:e!# とすると一つ前に戻れる。

 

もう一つ移動について。

 
% vi file1 file2 file3
 

や、

 
% vi *.html
 

のようにたくさんのファイルを同時に開いた場合。

:n で次々に移動した後、先頭のファイルに戻りたいときは :rew (:rewind) と入力する。

 

ファイルの編集途中にカレントファイルの名前を確認したいときは、:args とタイプするとカレントファイルを [...] で囲った引数の一覧が出てくる。

若しくは :!echo % とタイプすると一時的に画面が shell の prompt に切り替わってカレントのファイル名のみを表示してくれる。

 

Vim での作業中に新しくファイルを読み込みたくなったら :e filename で args の末尾に追加される。

 

:wq や :x で編集を終了すると複数選択したファイル群全体の編集作業を終了することになる。

個別のファイルを保存・終了して引数から除外することはできないようだ(なるほど、そういう事情もあってファイルごとにセーブしながらじゃないと移動できないのか、とも思う)。

 


© Shin Nakamura/BasicWerk 2014