设置选项autowrite
和autowriteall
。它们允许在每个 :next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!, :make, CTRL- 上写入文件内容(如果已修改) ] 和 CTRL-^;autowriteall
也用于命令 ":edit"、":enew"、":quit"、":qall"、":exit"、":xit"、":recover" 和关闭 Vim 窗口。
:set autowrite\n:set autowriteall\n
Run Code Online (Sandbox Code Playgroud)\n\n在本届会议上。将“set autowrite”和“set autowriteall”放入~/.vimrc
,以便在将来的会话中自动执行此操作。
如果您不想自动写入修改后的缓冲区而只是切换到另一个缓冲区
\n\n:set hidden\n
Run Code Online (Sandbox Code Playgroud)\n\n(同样,在命令行和~/.vimrc
)。
如果autowrite
不起作用,可能意味着缓冲区没有名称(不与文件关联)\xe2\x80\x94,在这种情况下,vim 无法写入缓冲区。set hidden
在这里有帮助,但不适合:q
。vim 可以自动保存文件,但不能(也不应该)自动放弃更改。您必须使用 显式丢弃它们:qa!
。这是安全功能。