當我在終端類似如何自動更改Vim中的當前路徑?
mvim ./path/to/my/project
輸入vim打開這個項目目錄,在我的NERDTree我能看到的文件,但是當我嘗試運行一些CLI命令,像
:!touch some/file/in/my/project
它發生,我當前的路徑是我的用戶的主目錄
所以如果我想在我的項目目錄創建文件,我必須鍵入喜歡
完整路徑有沒有可能在vim啓動後自動更改dir?
當我在終端類似如何自動更改Vim中的當前路徑?
mvim ./path/to/my/project
輸入vim打開這個項目目錄,在我的NERDTree我能看到的文件,但是當我嘗試運行一些CLI命令,像
:!touch some/file/in/my/project
它發生,我當前的路徑是我的用戶的主目錄
所以如果我想在我的項目目錄創建文件,我必須鍵入喜歡
完整路徑有沒有可能在vim啓動後自動更改dir?
我在vimrc里加入:
" Use %% on the command line to expand to the path of the current file
cabbr <expr> %% expand('%:p:h')
您的特定使用情況,你可以嘗試對在VimEnter事件掛鉤的東西了。例如,嘗試把這個在你的vimrc:
autocmd VimEnter * cd %:p:h
然後,當你與$ mvim path/to/my/project/some/file
Vim自動:cd
調用的Vim到目錄file
是
對於這個與你將不得不目錄工作。爲自動命令添加一點邏輯,例如
autocmd VimEnter * exe 'cd '.(isdirectory(expand('%:p')) ? '%:p' : '%:p:h')
你可以自己改進!
如何最好的解決這個問題取決於你的確切用例。我偏好:set autochdir
,但如果你想將工作目錄設置爲項目根目錄,我會使用本地vimrc插件之一(我使用localrc.vim - Enable configuration file of each directory),在每個項目根目錄中創建一個本地.vimrc
文件
:cd expand('<sfile>:p:h')
其中。然後,無論您打開項目層次結構中的哪個文件,工作目錄將始終設置爲項目根目錄。
in_vimrc
au BufEnter * silent! lcd %:p:h
的
可能重複[如何設置在VIM文件的正確路徑?](http://stackoverflow.com/questions/12022142/how-to-set-the-correct -path-for-a-file-in-vim) –
我想不是,autochdir並沒有解決我的問題。 我想改變我的項目的根目錄,沒有更多。 –
':pwd'應該是你調用Vim的目錄。或者'''如果你只是啓動GVim/MacVim。 – romainl