题
使用VIM;我想一个文件(.py文件)添加到通过NERDTree目录。我不得不浏览我希望把我的文件并点击“M”,然后“一”来命名我的文件到目录中。问题是,NERDTree不断告诉我:“NERDTree:节点未创建。”这意味着该文件没有被创建。
这是为什么?我我失去了一些东西?
由于
编辑:
当我尝试创建一个目录,VIM(事实上NERDTree)失败,并且显示这个错误消息:
Error detected while processing function <SNR>14_showMenu..30..47..NERDTreeAddNode:
line 18:
E716: Key not present in Dictionary: isOpen || !empty(parentNode.children)
E15: Invalid expression: parentNode.isOpen || !empty(parentNode.children)
Error detected while processing function <SNR>14_showMenu..30..47:
line 6:
E171: Missing :endif
Error detected while processing function <SNR>14_showMenu..30:
line 19:
E171: Missing :endif
解决方案
我认为存在与NERD树中的错误。
看来,它与在目录名称空间。尽量让一个目录,然后跟踪文件路径返回到最低目录中有空格。您可能会发现一个单独的目录已经与“逃脱”用反斜杠的空间创建的。节点此层次结构下创建的。
尝试克隆和安装此补丁版本 - 如在由GWW评论建议 - 用git 。这个固定的问题,我
可替换地,不使用NERDTree如果有在路径中的空间来创建文件。
其他提示
检查以确保您使用的是最新版本的NERDTree的
只是看文件~/.vim/plugins/NERD_tree.vim
并确保线let s:NERD_tree_version = '4.1.0'
接近顶部。
另外,还要确保该文件存在~/.vim/nerdtree_plugin/fs_menu.vim
。这是必需的nerdtree文件的命令。
此功能完美的作品在这里,所以它可能是一些与你的具体设置。你确定你拥有有效权限创建在该目录中的文件?或者,也许它是与你的文件的命名。
这是一个长镜头,但我也有类似的问题,它原来是因为我用符号链接指向我的vim的和vimfiles目录Dropbox的...我想要意外更改符号链接的目标而围绕碴与看似无关东西。
重新创建符号链接固定的东西。
我知道这是一个老问题,但我觉得人还是有这个问题。我一直困惑于OS X的MacVim一会儿!我认为这是关系到路径有空格。定影此的关键是要更新fs_menu.vim
(它在~/.vim/nerdtree_plugin/
文件夹)。
要解决这个问题,我从官方仓库最新版本NERD树:
git clone https://github.com/scrooloose/nerdtree.git
进入克隆git仓库命名nerdtree:
cd nerdtree
复制到NERD_tree.vim〜/的.vim /插件/
cp plugin/NERD_tree.vim ~/.vim/plugin/
复制nerdtree_plugin文件夹包含fs_menu.vim
cp -r nerdtree_plugin ~/.vim/
在OS X上的前一个命令确保指定nerdtree_plugin
不nerdtree_plugin/
。
这可能是一个简单的权限问题。这要看你要创建的文件。尝试直接从您的编辑器执行命令。我的VIM命令
:!touch somefile.py
给出了同样的反应。此外,当我去命令行和尝试触摸somefile.py在相同的位置,它不会让我。
观光急剧当我添加须藤到命令改变。
然而,即使你可以在vim编辑器加sudo像这样
:!sudo touch [/path/to/]somefile.py
我不认为你可以成为NERDtree根上飞。
因此,你需要做一个NERDtree sudoer。我不认为NERDtree运行的用户,因为它是VIM插件如此快速和肮脏的解决方案是运行vim以须藤模式
sudo vim
在此之后,当你打开你的NERDtree和类型m a
,然后输入文件或目录/名称会为您创建它没有任何问题。
显然是有原因的,为什么vim编辑器不是root,你应该root权限运行它,只有当你需要它,在情况下,当您正在编辑的敏感文件