我正在使用gVim 8.0的便携版本,每次我想使用ORA-01489
命令或者如果我想要启动新的“文件”\会话(我不知道我应该如何坦率地称它)只是使用:enew
退出程序我收到此错误消息:
E37:自上次更改后没有写入(添加!覆盖)。
Here我读到当你有一个修改过的隐藏缓冲区时会发生这种情况。我不知道缓冲区是什么,但我不喜欢这种默认行为。我可以以某种方式更改它,所以每次我需要退出或重新开始时我都不会输入问号吗?
谢谢!
答案 0 :(得分:2)
设置选项autowrite
和autowriteall
。它们允许在每个文件上编写文件的内容(如果已修改):next,:rewind,:last,:first,:previous,:stop,:suspend,:tag,:!,:make,CTRL- ]和CTRL- ^; autowriteall
也用于命令“:edit”,“:enew”,“:quit”,“:qall”,“:exit”,“:xit”,“:recover”并关闭Vim窗口。< / p>
:set autowrite
:set autowriteall
在当前会话中。在~/.vimrc
中添加“set autowrite”和“set autowriteall”,以便在将来的会话中自动执行此操作。
如果您不想自动编写修改的缓冲区,只需切换到另一个缓冲区
:set hidden
(同样,在命令行和~/.vimrc
中)。
如果autowrite
不起作用,则可能意味着缓冲区没有名称(与文件无关) - 在这种情况下,vim无法写入缓冲区。 set hidden
有助于:q
,但不适用:qa!
。 vim可以自动保存文件,但不能(也不应该)自动丢弃更改。您必须使用$query = User::find();
$query->joinWith(['profile']);
$query->andWhere(['not', ['user.id' => $this->searching_user_id]]);
$query->andWhere(new Expression('profile.photo::jsonb ? \'id\''));
明确丢弃它们。这是安全功能。