2017-10-20 16 views
2

をディレクトリ/ファイルを開いて、私は通常のvimで物事を編集するとき、私はのような何かを行く作業ディレクトリのFTOを設定しましたそしてCtrl-Pを編集する必要のあるファイルに移動します。このアプローチの問題点は、NERDTreeやFZFのようなプラグインは、作業ディレクトリが、私がパラメータとして与えたディレクトリではなく、vimを起動したものであることを理解しているということです。例:Vimは第一種の新しいVIMに私は、デフォルトで

/some/path$ vim /other/path 

Vimは/some/pathが作業ディレクトリではない/other/pathであることを理解するであろう。このため、私はvimを起動するたびに手動で:cd :%p:%hする必要があります。自動的にvimを作成する方法はありますか?最初に開いたディレクトリに:cd

+0

考え。プロジェクトパスに 'CDPATH'を設定します。例えば'export CDPAH =":〜/ projects "'。これにより、 'cd'(そしてVimの中の':cd')を使って簡単にプロジェクトを切り替えることができます –

答えて

3

私は決してそのことについて思っていませんが、私はあなたの質問を読んでいる間、それはいいかもしれません...あるいは全然恐ろしいです。とにかく興味深い問題と私は30秒のようにそれを試して、すでにそれを憎む。その理由は、あなたのプロジェクトフォルダには、編集したいコードファイルがほとんど決して含まれていないということです。

それはこのように動作するはずです:

autocmd VimEnter * silent! cd %:p:h 
+0

あなたの答えをありがとう:)。私はそこからCtrl + Pを使用して、私が望むところに到達します。私は、ファイルへのパス全体をシェルに入力するよりも速く見つけました。ちょっとした助言のように、vimがパラメータがファイルであれば上記のコマンドをトリガするのではなく、それがディレクトリであることを検出したいのかどうかを検出する方法はありますか? – DarthRevan13

+0

してください。 ':vim/folder/file'のecho expand( "%:p:h") 'は' vim/folder'と同じ結果を与えるので、 ':h'フラグはパスからフォルダを削除しません。だから、私はいつも私のプロジェクトフォルダに移動し、そこからCtrl + Pまたはfzfを使用するので、私はいつもそのフォルダを開くだろう。しかし、とにかくパスを入力しなければならないのであれば、私は好きな 'cd'を使うことができます。なぜなら私はvimを閉じた後にプロジェクトフォルダに留まるからです(私はvimを閉じないとは限りません)。また、サブフォルダ内の特定のファイルを開きたい場合は、ディレクトリに迷惑をかけません。 –

関連する問題