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