summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/vi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/editors/vi.c b/editors/vi.c
index d799a8170..1f997e8e5 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -4324,8 +4324,14 @@ static void do_cmd(int c)
goto dc_i; // start inserting
break;
case 'Z': // Z- if modified, {write}; exit
- // ZZ means to save file (if necessary), then exit
c1 = get_one_char();
+ // ZQ means to exit without saving
+ if (c1 == 'Q') {
+ editing=0;
+ optind = cmdline_filecnt;
+ break;
+ }
+ // ZZ means to save file (if necessary), then exit
if (c1 != 'Z') {
indicate_error();
break;