Vim的默认行为似乎是,如果缓冲区被修改,:q将引发错误,即使修改,:q!也将退出缓冲区。我想改变:q的行为,这样它只会在缓冲区被修改并且与现有文件相关联时引发错误。换句话说,如果创建了新的缓冲区(例如,被:new或:e nonexistentfile.txt)修改而没有写入,我希望:q放弃这些更改。
:q
:q!
:new
:e nonexistentfile.txt
66bbxpm51#
我认为你想要的是创建临时缓冲区。
command! Scratch new | setlocal buftype=nofile bufhidden=hide noswapfile
字符串只需发出:Scatch命令以创建临时缓冲区
:Scatch
ufj5ltwl2#
自动使没有备份文件的缓冲区不提示保存(而有备份文件的缓冲区将继续提示):
augroup nofilename_nofile autocmd! " Don't prompt for saving buffers with no file autocmd BufEnter * if eval('@%') == '' && &buftype == '' | setlocal buftype=nofile | end augroup END
字符串
2条答案
按热度按时间66bbxpm51#
我认为你想要的是创建临时缓冲区。
字符串
只需发出
:Scatch
命令以创建临时缓冲区ufj5ltwl2#
自动使没有备份文件的缓冲区不提示保存(而有备份文件的缓冲区将继续提示):
字符串