I type really fast and realize that sometimes I accidentally save a file with the name of ;
or :
(I type :wq
and sometimes a typo is introduced).
Is there any way to write a macro that rejects saving files matching certain names?
I type really fast and realize that sometimes I accidentally save a file with the name of ;
or :
(I type :wq
and sometimes a typo is introduced).
Is there any way to write a macro that rejects saving files matching certain names?
A simple yet effective solution would be to define an auto-command matching potentially mistyped file names, that issues a warning and terminates saving.
Note that the
:throw
command is necessary to make Vim stop writing the contents of a buffer.In order to avoid getting
E605
error because of an uncaught exception, one can issue an error using the:echoerr
command run in thetry
block. (:echoerr
raises its error message as an exception when called from inside atry
construct. See:help :echoerr
.)If it is ever needed to save a file with a name matching the pattern used in the above auto-command, one can prepend a writing command with
:noautocmd
or set theeventignore
option accordingly (see:help :noautocmd
and:help eventignore
for more details), e.g.