summaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/window.c b/src/window.c
index 6490fd3868..92fcbbe710 100644
--- a/src/window.c
+++ b/src/window.c
@@ -199,14 +199,22 @@ newwindow:
case Ctrl_Q:
case 'q':
reset_VIsual_and_resel(); /* stop Visual mode */
- do_cmdline_cmd((char_u *)"quit");
+ STRCPY(cbuf, "quit");
+ if (Prenum)
+ vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 5,
+ "%ld", Prenum);
+ do_cmdline_cmd(cbuf);
break;
/* close current window */
case Ctrl_C:
case 'c':
reset_VIsual_and_resel(); /* stop Visual mode */
- do_cmdline_cmd((char_u *)"close");
+ STRCPY(cbuf, "close");
+ if (Prenum)
+ vim_snprintf((char *)cbuf + 5, sizeof(cbuf) - 5,
+ "%ld", Prenum);
+ do_cmdline_cmd(cbuf);
break;
#if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX)
@@ -235,7 +243,11 @@ newwindow:
case 'o':
CHECK_CMDWIN
reset_VIsual_and_resel(); /* stop Visual mode */
- do_cmdline_cmd((char_u *)"only");
+ STRCPY(cbuf, "only");
+ if (Prenum > 0)
+ vim_snprintf((char *)cbuf + 4, sizeof(cbuf) - 4,
+ "%ld", Prenum);
+ do_cmdline_cmd(cbuf);
break;
/* cursor to next window with wrap around */