当我输入`:q`或`:qa`时,如何让gvim主窗口不退出?
发布时间:2020-12-15 17:01:14 所属栏目:安全 来源:网络整理
导读:相反,我希望它关闭文件并打开默认的无名称缓冲区.我有时不小心关闭了最后一个文件,我必须重启g vim并cd到正确的目录. 把它放在$MYVIMRC中 function! NumberOfWindows() let i = 1 while winbufnr(i) != -1 let i = i+1 endwhile return i - 1endfunctionfunc
相反,我希望它关闭文件并打开默认的无名称缓冲区.我有时不小心关闭了最后一个文件,我必须重启g
vim并cd到正确的目录.
把它放在$MYVIMRC中
function! NumberOfWindows() let i = 1 while winbufnr(i) != -1 let i = i+1 endwhile return i - 1 endfunction function! DonotQuitLastWindow() if NumberOfWindows() != 1 let v:errmsg = "" silent! quit if v:errmsg != "" "echohl ErrorMsg | echomsg v:errmsg | echohl NONE "echoerr v:errmsg echohl ErrorMsg | echo v:errmsg | echohl NONE endif else echohl Error | echo "Can't quit the last window..." | echohl None endif endfunction if has("gui_running") cnoreabbrev <expr> q getcmdtype() == ":" && getcmdline() == 'q' ? 'call DonotQuitLastWindow()' : 'q' cnoreabbrev <expr> qa getcmdtype() == ":" && getcmdline() == 'qa' ? 'call DonotQuitLastWindow()' : 'qa' endif (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |