我试图用 NERDTree 创建一个新文件。我按下 a键创建一个新文件,我得到了这样的信息:
E21: Cannot make changes, 'Modifiable' is off
我使用 MacVim 和 Janus (几乎开箱即用)。
我对 NERDTree 并不熟悉,但我猜想在 NERDTree 视图中键入 a会被解释为“我想在 NERDTree 缓冲区中附加一些东西”,但是这个缓冲区是不可修改的。
您可以查看这个答案 Vim 和 NERDTree 扩展名-添加文件,它解释了如何使用 NERDTree 添加文件。
:set ma
简称
:set modifiable
将使缓冲区可修改
:set noma
恰恰相反。
如果其他人碰巧谷歌到这一点,请检查您不要试图打开一个目录在 vim 像我刚才(d’oh)
好吧,这可能不是最知情的答案,因为我几乎没有一个 Vim 或 Linux 的工作知识,但我已经找到了解决我的问题,它可能为您工作。具体来说,我的问题有两个:
1)每当我尝试编辑我创建的这个新文件中的东西,我得到了可以不作更改,’可修改’是关闭错误和..。
2)运行后: 设置可修改和尝试保存,我会得到一个 e382错误的‘不能写,buftype 是设置。所以我没法存钱。
在倾倒了大量无用的神秘文档之后,我发现了这个:
1)找到. vimviews 目录,对于我来说,它位于我的 git 存储库的根目录下
ls
在里面,我发现了这样的东西:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php= ~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php= ~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
这对您来说完全没有用处,因为您有一个不同的文件结构。但是要找到给你带来问题的文件。(哦,顺便说一下,这些实际上是文件名,看起来完全不明显)。找到那个有问题的文件,然后删除它: 例如:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
问题解决了。
如果您想在 NERDTree 中创建一个文件,那么您需要点击“ m”(用于菜单) ,然后点击“ a”。 只要在 NERDTree buffer 中输入“ a”,就会被解释为“修改 NERDTree buffer”。 添加: ma 将使 NERDTree 缓冲区可修改,但这不会为您创建新文件,它将导致 NERDTree 显示的内容与您实际的文件层次结构之间的信息不一致。
这对我很有效:
:set buftype= :w
对我来说,我已经隐藏了一些变化,其中包括一个目录,我当时正试图在我刚才隐藏的目录中创建一个文件。NERDTree 还在展示那棵预藏的树。在不存在的目录中使用 m会产生可修改的错误。我应该用 r刷新树,以查看目录不再存在,以及为什么不能修改它。
m
r