尝试使用书呆子树创建新文件。我点击a
键创建一个新文件,然后收到消息:
E21: Cannot make changes, 'Modifiable' is off
我正在使用MacVim和Janus(几乎开箱即用)
答案 0 :(得分:203)
:set ma
是
的缩写:set modifiable
将使缓冲区可修改。和
:set noma
恰恰相反。
答案 1 :(得分:16)
我不熟悉NerdTree,但我想通过在一个nerdtree视图中键入 a ,它被解释为“我想在nerdtree缓冲区中添加一些内容”,并且该缓冲区不可修改
您可以查看答案vim and NERD Tree extension - adding a file,其中说明了如何使用Nerdtree添加文件。
答案 2 :(得分:2)
这对我有用:
:set buftype=
:w
答案 3 :(得分:1)
好吧,这可能不是最明智的答案,因为我几乎没有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=
问题解决了。
答案 4 :(得分:1)
如果你想在NERDTree中发生一个文件,你需要点击" m" (对于菜单)然后" a"。 只需输入" a"在NERDTree缓冲区中将被解释为"修改NERDTree缓冲区"。 添加:ma将使NERDTree缓冲区可修改,但是这不会为您创建新文件,这将导致NERDTree显示与实际文件层次结构之间的信息不一致。
答案 5 :(得分:0)
如果有其他人碰巧谷歌这个,请检查你是不是想尝试在vim中打开一个目录,就像我一样(d'oh)
答案 6 :(得分:0)
对我来说,我保存了更改,其中包括一个目录,然后尝试在刚保存的那个目录中创建一个文件。 NERDTree仍在显示带有该目录的预先隐藏的树。在不存在的目录上使用error: non-static method methodA(Context,String) cannot be referenced from a static context
error: non-static method getCustomObject1() cannot be referenced from a static context
会产生可修改的错误。我应该用m
刷新树,以查看目录不再存在以及为什么无法对其进行修改。