CD.vimに不具合!?

ファイルを開いたら自動的にcdしてくれるワンライナVimスクリプトCD.vim。かなり愛用してます、しかし、圧縮ファイルを開いたときにエラーが出るのでう〜どうしたもんかなぁと。

CD.vim : CD to whatever directory the current buffer is using. (Win, Mac) - 名無しのVIM使い

スクリプトの内容は簡単。

au BufEnter * execute ":lcd " . expand("%:p:h")

原因はファイル名がtarfile:hoge/moge.cとなっているので,tarfile:hoge/を開こうとして失敗している。

そんなわけで、ボクノス的パッチ。":"があったら、lcdしない

aug CD
  au!
  au BufEnter * if expand("%:p:h") !~ ":" | execute ":lcd " . expand("%:p:h") | endif
aug END

au多重登録も防止しておきました。

全然関係ないけどコレ凄いね。