NERDTree无法将书签写入文件

how*_*his 3 vim nerdtree

当我尝试在NERDTree中创建书签时(安装了emacs的win7)

:Bookmark mybookmark
Run Code Online (Sandbox Code Playgroud)

我明白了:

E482: Can't create file C:\emacs\home/.NERDTreeBookmarks
Run Code Online (Sandbox Code Playgroud)

And*_*dev 7

NERDTree默认尝试将书签写入"$ HOME/.NERDTreeBookmarks".这就是代码中的样子:

call s:initVariable("g:NERDTreeBookmarksFile", expand('$HOME') . '/.NERDTreeBookmarks')
Run Code Online (Sandbox Code Playgroud)

虽然您可能在配置中的某处设置了"g:NERDTreeBookmarksFile"变量,但出于某种原因,emacs更有可能将"HOME"环境变量设置为"C:\ emacs\home".这也解释了斜杠/反斜杠混音.你可以尝试两件事:

  • 将$ HOME变量更改为您的主目录"C:\ Users\your-username".一个快速的谷歌出现了Windows 7的指南:http://www.itechtalk.com/thread3595.html
  • 只需将"g:NERDTreeBookmarksFile"变量设置为您的主目录("C:\ Users\your-username").

我推荐第二个选项,因为它肯定会起作用.你可能需要逃避反斜杠和空格,但我现在还不能确定.在所有这些方面尝试一下,看看哪个适合你:

let g:NERDTreeBookmarksFile = "C:\Users\Your\ Username"
let g:NERDTreeBookmarksFile = "C:\\Users\\Your\ Username"
let g:NERDTreeBookmarksFile = 'C:\Users\Your Username'
Run Code Online (Sandbox Code Playgroud)