How can I deltect if there is a file modification in VIM upon exiting (:q
)?
If there is a file modification Vim echos
E37: No write since last change (add ! to override)
I want to override this message with a custom message and an action similar to
File modified: Do you wish to save the file? (y)Yes (n)No (c)Cancel
I have modified Vim's behavior to save file on Ctrl-s
and quit on Ctrl-w
Now I am looking for a solution if the file is already modified and user is quitting it with Ctrl-w I want Vim to prompt to save.
Here is the content of my .vimrc file:
map <C-S> :w<CR>
imap <C-S> <Esc>:w<CR>i
map <C-w> :q<CR>
imap <C-w> <Esc>:q<CR>
Best Answer
You could use
:confirm quit
, e.g.By the way:
C-w
is a bad choice for a shortcut, because it is used as the start of other shortcuts, e.g.C-w v
for splitting vertically. That's why you experience a short delay before the dialog pops open: after you pressC-w
, vim waits a short time for other keypresses, before it decides that you really just wanted to pressC-w
.