まくまくVimノート
編集中のファイルと拡張子だけが異なるファイルを開く(Hello.cpp を編集中に Hello.h を開く)
2009-07-22

例えば、現在 Hello.cpp という名前のファイルを編集しているときに、Hello.h という、拡張子部分だけが異なるファイルを開きたくなったときは、以下のように開くことができます。

:e %<.h

%< は、現在編集中のファイルの名前から拡張子を除いた部分に置換されます(ちなみに単純に % とすると、ファイル名全体になります)。 次のように実行すれば、ファイル名から拡張子を除いた部分 (Hello) が表示されることを確認できます。

:!echo %<

Hello.cpp というファイルを編集中であれば、%<Hello となるため、下記の2つは同じ振る舞いをします。

:e %<.h
:e Hello.h

この例のようにファイル名が短いときはあまり意味がないかもしれませんが、ファイル名が長いときには便利です。 ここでは :e[dit] コマンドの例を示しましたが、他のコマンドでも %%< を使ってファイル名を参照することができます。

例: 現在編集中のファイルのファイル名に .back をつけてバックアップ

:w %.back
2009-07-22