1

This is a follow up to this question of mine.

I found out that having :noremap ^[[29^ <Nop> in my vimrc is not enough to disable the unwanted effect of Ctrl+Menu in insert mode, so I looked at :help map-table and verified that indeed :noremap does not apply to insert mode.

Therefore I decided to make the least number of mappings to disable that key combo on every mode. Based on that table this seemed a good combination:

lnoremap ^[[29^      <NOP>
noremap  ^[[29^      <NOP>
tnoremap ^[[29^      <NOP>

(where clearly ^[ is obtained via Ctrl+v followed by Escape).

But apparently lnoremap is not applying to insert mode! You can see it in the screencast below.

Am I misunderstanding map-table information concerning lnoremap, or is it a bug I should report?

I wonder whether the last paragraph of language-mapping is relevant in this respect,

Language mappings will never be applied to already mapped characters. They are only used for typed characters. This assumes that the language mapping was already done when typing the mapping.

asciicast

2 Answers 2

2

The l in :lmap is for "language". :lmap is only effective when an input method is set. See :help 'iminsert' and related options.

If you want to cover the most modes with the least number of commands, you will need the following lines:

" Normal, Visual, Select, Operator-pending
noremap  ^[[29^ <NOP>
" Insert and Command-line
noremap! ^[[29^ <NOP>
" Terminal-Job
tnoremap ^[[29^ <NOP>
0

Simply:

:inoremap … <Nop>

But be careful with mappings with <esc> in the left-hand-side.

2
  • :( Sorry for not being clear. My point was that if want to cover all modes, inoremap+noremap+tnoremap still don't do it.
    – Enlico
    Commented Oct 19, 2022 at 20:15
  • So yes, I know of inoremap, but why isn't lnoremap doing it if the doc says it applies to insert mode too?
    – Enlico
    Commented Oct 19, 2022 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.