CD.vim : ファイルを開くと、そのファイルと同じディレクトリに移動
vimエディタでファイルをオープンした時に、エディタのカレントディレクトリを、 その編集するファイルのあるディレクトリに変更するスクリプトです。 (Windows, Mac)
概要
CD.vim : CD to whatever directory the current buffer is using.
http://www.vim.org/scripts/script.php?script_id=65
現在編集中のバッファのディレクトリに移動するスクリプトです。
次のような人には役に立つことでしょう。
- 様々なディレクトリに散ったファイルを編集している方。
- 普段、:CdCurrentコマンドを多用する方。
- MacOSX版でDockにファイルを落としてgvimを開いた場合、カレントディレクトリが「/」になっていて、移動が面倒な方。
そのまま使うと、どのファイルを開いても必ず、そのファイルのあるディレクトリに移動してしまうことになるので、 その対策も用意しています。
インストール方法
ここ から、 スクリプトをダウンロードします。
ファイル | URL |
---|---|
CD.vim | http://www.vim.org/scripts/script.php?script_id=65 |
ファイルを開いたら、そのファイルの種類に関係無く、必ずそのファイルのディレクトリに移動して良いのなら、 ダウンロードしたスクリプトファイルは $VIMRUNTIME/macrosなどのマクロ用のディレクトリに コピーしましょう。
_vimrc設定ファイルに次の設定を書きこみます。
:source $VIMRUNTIME/macros/cd.vim
使用方法
ファイルを開いたり、バッファを切り替えると、 そのファイルのディレクトリに自動的に移動します。
ファイルの種類に応じて、スクリプトの有効無効を切り替えたい
そのまま使うと、バッファを開くたびに必ずディレクトリを移動してしまうので、 それで困る方はスクリプトをちょっと変更しましょう。
" スクリプト(CD.vim) :au BufEnter * execute ":lcd " . expand("%:p:h")
スクリプトの中身はこれだけなので、これを変更して、 _vimrc設定ファイルに直接、自分用の設定を書いても大した手間ではありません。
例えば、このように_vimrc設定ファイルに書きこめば、 拡張子xml、sdocのファイルをvimエディタで開いた時のみ、移動するようになります。
:au BufEnter *.xml,*.sdoc execute ":lcd " . expand("%:p:h")
BufEnter の後に、有効にしたいファイルの種類を指定します。 , (カンマ)を使うことで、複数記述可能です。
_vimrcファイルに直接書いた場合は、cd.vimを:sourceする必要は当然ありません。
注意事項など
Windows版gvimで、ファイルをドラッグアンドドロップで開く時に、 Shiftキーを押しておくと、 そのファイルのディレクトリに移動することができます。
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago