6
在vimscript中,如果我想獲得當前工作目錄的值爲當前緩衝區(可以通過:lcd
更改),我將使用哪個變量或表達式來獲取該值?vim中當前工作目錄的變量是什麼?
在vimscript中,如果我想獲得當前工作目錄的值爲當前緩衝區(可以通過:lcd
更改),我將使用哪個變量或表達式來獲取該值?vim中當前工作目錄的變量是什麼?
let cwd = getcwd()
或
let cwd = fnamemodify('.', ':p')
。兩者總是返回當前緩衝區的有效值,但是確定這是否是本地緩衝區的工作目錄(即,由:lcd
/'autochdir'
改變)或全局改變(即從vim開始改變:cd
/未改變)是更有趣的問題。我不知道答案。
如果我想使用結果作爲參數,可我不'映射 F:NERDTreeToggle GETCWD()' –
steveyang
2013-03-09 07:23:57
@ steven.yang你不需要知道路徑爲NERDTree的工作目錄。只是'nnoremap \ f:NERDTreeToggle。'。 [啊,不要使用沒有':nore']的':map'](http://learnvimscriptthehardway.stevelosh.com/chapters/05.html)。 –
ZyX
2013-03-09 07:28:05
@ steven.yang如果當前目錄沒有這樣的快捷方式(這是在文件名中總是使用的快捷方式,而不是NERDTree功能),那麼您必須使用':execute':':execute'NERDTreeToggle'fnameescape(getcwd())'。 –
ZyX
2013-03-09 07:30:34