2017-10-20 131 views
2

我一種新的vim的,而當我通常在vim編輯的事情,我去類似:Vim的設置工作目錄FTO第一默認打開的目錄/文件

vim . 

vim /path/to/some/project 

然後按Ctrl-P到我需要編輯的文件。這種方法的問題是像NERDTree或FZF這樣的插件明白工作目錄是我從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有沒有辦法讓vim檢測參數是否是一個文件,你不希望上面的命令觸發,但是當它是一個目錄時呢? – DarthRevan13

+0

確定你想要。因爲'vim/folder/file'上的':echo expand(「%:p:h」)給出了與'vim/folder'相同的結果,':h'標誌不會從路徑中刪除文件夾。所以我總是會打開一個文件夾,因爲我會去我的項目文件夾,並使用Ctrl + P或fzf或任何從那裏。但是,如果我必須輸入路徑,我可以使用'cd',我更喜歡它,因爲我將在關閉vim之後留在項目文件夾中(並非我曾經關閉過vim)。如果我想打開我的子文件夾中的特定文件,它不會與我的目錄混淆。 –

相關問題