Se você
:set autochdir
você terá o comportamento que deseja. No entanto, se você precisar manter o diretório de trabalho (por exemplo, para abrir facilmente outros arquivos de projeto), será necessário salvar / restaurar o CWD com autocmds:
:autocmd InsertEnter * let save_cwd = getcwd() | set autochdir
:autocmd InsertLeave * set noautochdir | execute 'cd' fnameescape(save_cwd)