2011-04-21 57 views
103

尝试使用书呆子树创建新文件。我打了a键创建一个新的文件,我得到的消息:vim“可修改”关闭

E21: Cannot make changes, 'Modifiable' is off

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

回答

168
:set ma 

这是短期的

:set modifiable 

会使缓冲修改。并且

:set noma 

正好相反。

+3

对此答案+1。当您搜索关闭缓冲区中可修改标志的方式时,Google会显示此页面。 – 2012-09-23 01:07:39

+25

“:set ma”适合你们这些人的着装(和“:set noma”相反) – num1 2013-01-25 23:16:35

+0

有没有人知道我如何在NERDTree中删除我的UNDO?如'dd',然后我试着'你',没有任何反应 – betoharres 2014-12-12 23:28:32

12

我不熟悉NerdTree但我想通过在nerdtree视图中键入a,它会被解释为“我想在nerdtree缓冲区中追加某些内容”,并且该缓冲区不可修改。

您可以检查答案vim and NERD Tree extension - adding a file,它解释了如何使用Nerdtree添加文件。

+9

Doh,这是m,然后a。 – wesbos 2011-04-21 14:56:00

+1

就是这样,检查NERDTree的帮助,没有'''映射,这会导致它尝试附加新的文本。 – sidyll 2011-04-21 15:03:42

0

万一别人恰好谷歌这一点,请检查你并不想在vim中打开一个目录像我刚才是(D'OH)

+0

你可以在Vim中打开目录。默认情况下它会启动Netrw。 – htmldrum 2013-03-21 18:46:55

1

好吧,这未必是最明智的答案因为我几乎没有vim或linux的工作知识,但我发现解决我的问题,它可能适合你。具体而言,我的问题是双重的:

1)每当我试图在这个新的文件我创建编辑的东西,我得到了不能更改,“修改的”关闭错误,并...

2 )运行后:设置可修改,并试图保存,我会得到一个e382错误'不能写,buftype设置。所以我无法保存。

浇没用神秘文档throuch鲹之后我想通了这一点:

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= 

问题解决了。

+0

使用NerdTree也遇到了这个问题。这只在退出导致问题的vim会话后才起作用。我猜测它一直在重置这个“视图”。 – John 2018-02-08 19:34:16

0

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