タブ毎にディレクトリを維持する

各タブ毎にそれぞれの編集しているファイルのカレントディレクトリに移動してくれると便利なので,.vimrcに次のような設定をした.

augroup MyautoCmd
  autocmd!
augroup END

command! -nargs=0 KeepPwd
\   let t:pwd = fnamemodify(expand('%'), ':p:h')
\ | execute 'cd' t:pwd

autocmd MyautoCmd TabEnter * KeepPwd
autocmd MyautoCmd BufEnter * KeepPwd

if !exsits()とかでt:pwdがないときだけletするようにしたかったのだけど,それだとそうするとなぜかうまくいかなかったのでこうなった.