我正在尝试使用 NERDTree 创建一个新文件。我按下 a 键创建新文件时出现以下信息:
E21: 无法进行更改,'Modifiable' 已关闭
我正在使用几乎默认的 Janus MacVim。
:set ma
这是缩写,代表
:set modifiable
会使缓冲区可修改。而
:set noma
执行相反的操作。
:set buftype: " "
来写入文件(否则会出现“无法写入,'buftype'选项已设置”的信息)。 - Julien Carsique我不熟悉NERDTree,但我猜想在NERDTree视图中键入a被解释为“我想向NERDTree缓冲区附加一些内容”,但是该缓冲区是不可修改的。
您可以查看此答案vim和NERDTree扩展 - 添加文件,它解释了如何使用NERDTree添加文件。
a
映射,这会导致它尝试追加新文本。 - sidyll:set buftype=
:w
buftype
。 - mipmip好的,我并不是vim或linux方面的专家,但我已经找到了解决问题的办法,也许对你有用。 具体来说,我的问题有两个:
1)每当我尝试编辑新创建的文件时,都会收到“无法进行更改,‘Modifiable’处于关闭状态”错误提示...
2)运行:set modifiable之后尝试保存,我会得到一个“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=
m
会产生可修改错误。我应该使用 r
刷新树以查看该目录不再存在,以及为什么无法修改它。如果有其他人通过谷歌搜索到这里,请检查一下您是否像我一样尝试在vim中打开一个目录(d'oh)
m
,然后再键入a
。 - Leighton