2

vim,我正在查看一个文件,然后打开一个临时文件并进行了一些修改,然后我想回到原始文件。我输入ctrl-o了,但后来我得到了E37: No write since last change (add ! to override)

如何在不保存的情况下退出临时修改的文件并跳回之前的查看位置?

4

3 回答 3

4

通过打开,'hidden'您可以在未保存的缓冲区之间跳转而不会出现E37错误消息。不要担心 vim 会阻止你退出而不保存你的更改,除非你使用类似:q!.

set hidden

有关:h 'hidden'更多信息,请参阅。

于 2013-07-17T16:47:08.763 回答
1

来自vim 维基

您可以设置以下选项来创建临时(临时)缓冲区:

:set buftype=nofile
:set bufhidden=hide
:setlocal noswapfile

使用这些设置,您可以切换出临时缓冲区而无需写入。

于 2013-07-17T16:39:06.717 回答
0

如果您正在寻找专门针对临时文件的解决方案,那么 AE Drew 的回答是正确的。

如果您正在寻找“如何在不保存当前缓冲区更改的情况下切换到不同的缓冲区?”的通用解决方案?然后就set hidden在你的 .vimrc 中。

于 2013-07-17T16:47:21.907 回答