sim*_*eco 28
我建议在更改文本时保存缓冲区:
autocmd TextChanged,TextChangedI <buffer> silent write
Run Code Online (Sandbox Code Playgroud)
注意 (感谢@Kevin):不幸的是,如果您在没有打开文件的情况下打开 vim 会导致错误,因为 vim 会尝试保存您键入的文本,但不会保存在何处。
您可以使用自动保存插件执行以下操作:
https://github.com/907th/vim-auto-save
请注意,默认情况下自动保存已禁用,请运行:AutoSaveToggle以启用/禁用它。
小智 5
这将处理只读缓冲区(如 netrw)和未检测到的文件类型。使用 TextChangedI 而不是 InsertLeave 似乎会导致对插入模式下键入的每个字符进行写入,这可能是也可能不是您想要的。
augroup autosave
autocmd!
autocmd BufRead * if &filetype == "" | setlocal ft=text | endif
autocmd FileType * autocmd TextChanged,InsertLeave <buffer> if &readonly == 0 | silent write | endif
augroup END
Run Code Online (Sandbox Code Playgroud)