diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index a24b4ef..32cd7c5 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3584,7 +3584,9 @@
 /*
  * Return TRUE and set "*idx" if "p" points to a one letter command.
  * If not in Vim9 script:
- * - The 'k' command can directly be followed by any character.
+ * - The 'k' command can directly be followed by any character
+ *	    but :keepa[lt] is another command, as are :keepj[umps],
+ *	    :kee[pmarks] and :keepp[atterns].
  * - The 's' command can be followed directly by 'c', 'g', 'i', 'I' or 'r'
  *	    but :sre[wind] is another command, as are :scr[iptnames],
  *	    :scs[cope], :sim[alt], :sig[ns] and :sil[ent].
@@ -3594,7 +3596,8 @@
 {
     if (in_vim9script())
 	return FALSE;
-    if (*p == 'k')
+    if (p[0] == 'k'
+	    && (p[1] != 'e' || (p[1] == 'e' && p[2] != 'e')))
     {
 	*idx = CMD_k;
 	return TRUE;
@@ -3880,6 +3883,8 @@
     if (one_letter_cmd(p, &eap->cmdidx))
     {
 	++p;
+	if (full != NULL)
+	    *full = TRUE;
     }
     else
     {
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 708f211..4fec1c1 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1195,6 +1195,10 @@
   call feedkeys(":ka\<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"ka\<C-A>", @:)
 
+  " completion for :keepmarks command
+  call feedkeys(":kee edi\<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal("\"kee edit", @:)
+
   " completion for short version of the :s command
   call feedkeys(":sI \<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"sI \<C-A>", @:)
@@ -3901,7 +3905,7 @@
   let list = filter(getcompletion('', 'command'), 'exists(":" . v:val) == 0')
   " :++ and :-- are only valid in Vim9 Script context, so they can be ignored
   call assert_equal(['++', '--'], sort(list))
-  call assert_equal(1, exists(':k'))
+  call assert_equal(2, exists(':k'))
   call assert_equal(0, exists(':ke'))
   call assert_equal(1, exists(':kee'))
   call assert_equal(1, exists(':keep'))
diff --git a/src/testdir/test_cmdmods.vim b/src/testdir/test_cmdmods.vim
index 66ff6a1..a9117e1 100644
--- a/src/testdir/test_cmdmods.vim
+++ b/src/testdir/test_cmdmods.vim
@@ -40,6 +40,44 @@
   bwipe!
 enddef
 
+def Test_keep_cmdmods_names()
+  # :k only available in legacy script
+  legacy call assert_equal('k', fullcommand(':k'))
+  legacy call assert_equal('k', fullcommand(':ke'))
+  # single character commands not supported in Vim9
+  assert_equal('', fullcommand(':k'))
+  assert_equal('keepmarks', fullcommand(':ke'))
+  assert_equal('keepmarks', fullcommand(':kee'))
+  assert_equal('keepmarks', fullcommand(':keep'))
+  assert_equal('keepmarks', fullcommand(':keepm'))
+  assert_equal('keepmarks', fullcommand(':keepma'))
+  assert_equal('keepmarks', fullcommand(':keepmar'))
+  assert_equal('keepmarks', fullcommand(':keepmark'))
+  assert_equal('keepmarks', fullcommand(':keepmarks'))
+  assert_equal('keepalt', fullcommand(':keepa'))
+  assert_equal('keepalt', fullcommand(':keepal'))
+  assert_equal('keepalt', fullcommand(':keepalt'))
+  assert_equal('keepjumps', fullcommand(':keepj'))
+  assert_equal('keepjumps', fullcommand(':keepju'))
+  assert_equal('keepjumps', fullcommand(':keepjum'))
+  assert_equal('keepjumps', fullcommand(':keepjump'))
+  assert_equal('keepjumps', fullcommand(':keepjumps'))
+  assert_equal('keeppatterns', fullcommand(':keepp'))
+  assert_equal('keeppatterns', fullcommand(':keeppa'))
+  assert_equal('keeppatterns', fullcommand(':keeppat'))
+  assert_equal('keeppatterns', fullcommand(':keeppatt'))
+  assert_equal('keeppatterns', fullcommand(':keeppatte'))
+  assert_equal('keeppatterns', fullcommand(':keeppatter'))
+  assert_equal('keeppatterns', fullcommand(':keeppattern'))
+  assert_equal('keeppatterns', fullcommand(':keeppatterns'))
+enddef
+
+def Test_cmdmod_completion()
+  assert_equal('edit', getcompletion('keepalt ed',      'cmdline')[0])
+  assert_equal('edit', getcompletion('keepjumps ed',    'cmdline')[0])
+  assert_equal('edit', getcompletion('keepmarks ed',    'cmdline')[0])
+  assert_equal('edit', getcompletion('keeppatterns ed', 'cmdline')[0])
+enddef
 
 " vim: shiftwidth=2 sts=2 expandtab
 
diff --git a/src/testdir/test_exists.vim b/src/testdir/test_exists.vim
index 9cdb3fb..404b15c 100644
--- a/src/testdir/test_exists.vim
+++ b/src/testdir/test_exists.vim
@@ -113,6 +113,13 @@
   " Internal command with a count
   call assert_equal(0, exists(':3buffer'))
 
+  " Valid internal command (full match)
+  call assert_equal(2, exists(':k'))
+  " Non-existing internal command (':k' with arg 'e')
+  call assert_equal(0, exists(':ke'))
+  " Valid internal command (partial match)
+  call assert_equal(1, exists(':kee'))
+
   " User defined command (full match)
   command! MyCmd :echo 'My command'
   call assert_equal(2, exists(':MyCmd'))
diff --git a/src/version.c b/src/version.c
index 80e7033..fd67af6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    748,
+/**/
     747,
 /**/
     746,
