[vim/vim] `q:` command is disabled while executing a register (Issue #19967)

13 views
Skip to first unread message

HPWiz

unread,
Apr 13, 2026, 2:14:05 AM (4 days ago) Apr 13
to vim/vim, Subscribed
HPWiz created an issue (vim/vim#19967)

Steps to reproduce

Start with an empty file, and type

:let@a='q:'
@a

Expected behaviour

It should execute the command q:, opening the command-line window. However the q is ignored.
I believe this is because: "The 'q' command is disabled while executing a register, and it doesn't work inside a mapping and :normal." (from :h q)
However, q: does work from inside :normal, and it should work while executing a register. The behaviour for q? and q/ is the same

Version of Vim

9.2.316

Environment

Arch Linux

Logs and stack traces


Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967@github.com>

h_east

unread,
Apr 15, 2026, 9:54:26 AM (2 days ago) Apr 15
to vim/vim, Subscribed
h-east left a comment (vim/vim#19967)

It is clearly stated in the documentation.

:h q:

OPEN						*c_CTRL-F* *q:* *q/* *q?*
(snip...)
Note that this is not possible while recording is in progress (the "q" stops recording then).

However, it is currently possible to do this via the command line, not directly through the command line window.
Use :<C-F> instead of q:.
Similarly,
q/ --> /<C-F>
q? --> ?<C-F>


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967/4252641011@github.com>

HPWiz

unread,
Apr 15, 2026, 2:15:38 PM (2 days ago) Apr 15
to vim/vim, Subscribed
HPWiz left a comment (vim/vim#19967)

I’m afraid you have misread something. I am trying to us q: while executing a register, not “while recording is in progress”. I currently do not see a reason why this should be disallowed


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967/4254403588@github.com>

zeertzjq

unread,
Apr 15, 2026, 7:30:42 PM (2 days ago) Apr 15
to vim/vim, Subscribed
zeertzjq left a comment (vim/vim#19967)

Changing the behavior of q when executing a register is not backward compatible. Why doesn't you use :call feedkeys(@a, 'i') instead?


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967/4256374582@github.com>

HPWiz

unread,
Apr 15, 2026, 7:34:45 PM (2 days ago) Apr 15
to vim/vim, Subscribed
HPWiz left a comment (vim/vim#19967)

Thankyou. I was not aware that this would be backwards incompatible. Is there a reason that the expression register @= allows q:?
If it’s definitely backwards incompatible, I will close this issue


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967/4256387165@github.com>

zeertzjq

unread,
Apr 15, 2026, 7:35:25 PM (2 days ago) Apr 15
to vim/vim, Subscribed
zeertzjq left a comment (vim/vim#19967)

I edited the comment to add an example.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issues/19967/4256388901@github.com>

HPWiz

unread,
Apr 15, 2026, 10:20:38 PM (2 days ago) Apr 15
to vim/vim, Subscribed

Closed #19967 as completed.


Reply to this email directly, view it on GitHub.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/issue/19967/issue_event/24550797263@github.com>

Reply all
Reply to author
Forward
0 new messages