私はMacユーザーでvimを真剣に試しています。私が使用しているほとんどのGUIエディターでは、次のようなコマンドを実行して、ディレクトリを「プロジェクト」として開くことができます。
編集〜/ www/example.com /
Vimに相当するvim ~/www/example.com/
は、ディレクトリ内のファイルのリストを表示し、それらを開くことができます。ただし、vimの作業ディレクトリはそのパスに設定されません。作業ディレクトリを設定するには、:cd .
を実行する必要があります。
おそらくシェルスクリプトを使用して、vimを開き、その作業ディレクトリを特定のパスに設定する方法はありますか?
違いがあれば、私は実際にMacVimを使用しています。
@seheの提案のおかげで、私はこれを思いついた。それが最善の解決策かどうかはわかりませんが、うまくいくようです。
#!/bin/bash
if [ "$#" -eq 1 ];then # is there a path argument?
if test -d $1;then # open directory in vim
vim $1 +':cd %'
else # open file in vim
vim $1 +':cd %:h'
fi
else # no path argument, just open vim
vim
fi
脳死:
(cd /path/to/dir && vim file)
それほどではない:
vim /path/to/dir/file +':cd %:h'
いつでもマップできます:cd %:h
便利なキーに移動するか、自動コマンドを入力します(実際には後者をお勧めしませんが、好みについては議論がありません)
ああ、ファイルの代わりにディレクトリの場合:
:cd %
十分です
$ cd ~/my/working/directory
$ vim .
これは役に立ちますか?
set autochdir
私はそれを見つけました http://vim.wikia.com/wiki/Set_working_directory_to_the_current_file
以下を.vimrcに追加してみてください
let g:netrw_liststyle=3
let g:netrw_keepdir=0
これにより、ディレクトリの参照でファイルを表示するためにツリースタイルが使用され(ディレクトリにカーソルを置いてEnterキーを押すとディレクトリを展開できます)、現在の作業ディレクトリも参照しているディレクトリになります。
また、組み込みのディレクトリブラウザよりも高度なディレクトリブラウザを提供するNERDTreeプラグインにも興味があるかもしれません。オプションがあります
let g:NERDTreeChDirMode=2
現在のディレクトリを表示されたツリーのルートと一致させる、または
let g:NERDTreeChDirMode=1
コマンドを使用するたびにディレクトリを変更するには(:e
または:NERDTree
)新しいディレクトリを参照します。