カレントディレクトリとは
Vim のカレントディレクトリは、Vim で最初に開いたファイルがあるディレクトリに設定されます。 カレントディレクトリは、例えば下記のようなコマンドを実行したときに、起点となるディレクトリとして参照されます。
:vim pattern **/*.txt
などで複数ファイルを grep するとき:e sample.txt
でファイルを開くとき:cd dirname
でカレントディレクトリを移動するとき:terminal
でターミナルを開くとき
このカレントディレクトリは、:e
や :tabnew
コマンドで別のディレクトリにあるファイルを開いた場合も変化しません。
:vim (:vimgrep)
コマンドでファイルを検索してもなぜかヒットしないというときは、カレントディレクトリが正しくセットされてない可能性があります。
カレントディレクトリは :pwd
で確認することができます。
カレントディレクトリを変更する
手動で移動する
明示的にカレントディレクトリを設定するには :cd
コマンドを使用します。
と実行すると、現在編集中のファイルがあるディレクトリ (%:h
) へ移動することができます。
カレントウィンドウ(カーソルのあるウィンドウ)のみを対象にカレントディレクトリを移動したいときは、:cd
の代わりに :lcd
コマンドを使用します。
自動で移動する
autochdir
オプションをセットしておくと、新しくウィンドウを開いた時や、タブを切り替えたときなどに、そのファイルがあるディレクトリへ自動で移動してくれるようになります。
現在の設定は :set autochdir?
コマンドで確認できます。
autocmd
を設定してディレクトリ移動を自動化する方法 もありますが、autochdir
が使える Vim 環境であればそちらを使った方が簡単です。