vim“可修改”已关闭


147

尝试使用书呆子树创建一个新文件。我按a了创建一个新文件的键,然后收到消息:

E21: Cannot make changes, 'Modifiable' is off

我正在使用MacVim和Janus(几乎开箱即用)


2
fyi:m然后a将在NERDTree中添加一个新文件
Leighton

Answers:


233
:set ma

这是短的

:set modifiable

将使缓冲区可修改。和

:set noma

相反。


3
对此答案+1。当您搜索关闭缓冲区中可修改标志的方法时,Google会显示此页面。
塞巴斯蒂安·格里尼亚诺利

有谁知道如何撤消在NERDTree中删除的内容?像“ dd”一样,然后我尝试“ u”却什么都没发生
betoharres 2014年

6
:set buftype: " "修改后,我还不得不用它来写文件(后来的消息是Cannot write, 'buftype' option is set
Julien Carsique '16



2

好的,这可能不是最明智的答案,因为我几乎不了解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=

问题解决了。


1
使用NerdTree时也遇到了这个问题。这仅在退出引起问题的vim会话之后才有效。我猜想它一直在重置此“视图”。
约翰,

2

如果要在NERDTree中出现一个文件,则需要单击“ m”(对于菜单),然后单击“ a”。只需在NERDTree缓冲区中输入“ a”将被解释为“修改NERDTree缓冲区”。添加:ma将使NERDTree缓冲区可修改,但这不会为您创建新文件,这将导致NERDTree显示内容与实际文件层次结构之间的信息不一致。


0

万一有人碰巧用谷歌搜索它,请检查一下您是否不想像我以前那样在vim中打开目录(d'oh)


1
您可以在Vim中打开目录。默认情况下,它将启动Netrw。
htmldrum

例如,你可以在目录中选择文件:CW做一些改变他们的名字,并将其保存
Karolius

0

对我来说,我隐藏了一些更改,其中包括一个目录,然后我尝试在该目录中创建一个文件。NERDTree仍在显示带有该目录的预先保存的树。使用m上不存在产生的修改错误目录。我应该刷新树r以查看目录不再存在以及为什么无法对其进行修改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.