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