fc
não executará o comando se o comando do editor não tiver saído com sucesso. No Vim, há um comando para forçar isso : :cq
:
:cq :cquit
:cq[uit][!] Quit Vim with an error code, so that the compiler
will not compile the same file again.
WARNING: All changes in files are lost! Also when the
[!] is not used. It works like ":qall!" :qall,
except that Vim returns a non-zero exit code.
Então, quando você não quiser executar o comando, use :cq
para sair em vez de :q!
. Pode ser possível fazer o Vim fazer isso se você não fez nenhuma mudança, mas isso provavelmente será mais irritante para trabalhar de maneira confiável do que apenas usar :cq
.