使用 VIM 编辑器回显自定义消息

使用 VIM 编辑器回显自定义消息

如何在退出( )时检测 VIM 中是否有文件修改:q?如果有文件修改 Vim 回显

E37: No write since last change (add ! to override) 

我想用自定义消息和类似的操作覆盖此消息

File modified: Do you wish to save the file? (y)Yes (n)No (c)Cancel

我修改了 Vim 的行为以保存文件Ctrl-s并退出Ctrl-w

现在我正在寻找一个解决方案,如果文件已经修改并且用户使用 Ctrl-w 退出它我希望 Vim 提示保存。

这是我的 .vimrc 文件的内容:

map <C-S> :w<CR>
imap <C-S> <Esc>:w<CR>i

map <C-w> :q<CR>
imap <C-w> <Esc>:q<CR>

答案1

你可以使用:confirm quit,例如

map <C-w> :confirm quit<CR>

顺便说一句:C-w对于快捷方式来说是一个糟糕的选择,因为它被用作其他快捷方式的开始,例如C-w v用于垂直分割。这就是为什么在弹出对话框之前您会遇到短暂的延迟:在您按下 后C-w,vim 会等待一小会儿再按下其他按键,然后才确定您确实只是想按下C-w

答案2

你已经得到了具体的答案。这是一个通用的:

您可以在以下位置找到几乎所有您能想到的 vim 增强功能的示例(以及完整的工作包)http://www.vim.org/scripts/index.php

相关内容