[git commit] vi: add 'ZQ' quitting command

Denys Vlasenko vda.linux at googlemail.com
Tue Aug 2 13:05:12 UTC 2022


commit: https://git.busybox.net/busybox/commit/?id=3147552a230cfd4a4943a46f63e3313655acf566
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Busybox vi provides the 'ZZ' command to save and close
the similar 'ZQ' command just exits without saving.

function                                             old     new   delta
do_cmd                                              4222    4244     +22

Signed-off-by: Grob Grobmann <grobgrobmann at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 editors/vi.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

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;


More information about the busybox-cvs mailing list