0

Each time Vim (v8.2) starts, it shows a subset of my key bindings, and awaits a keypress, like this:

n  <Space>     * za
n  ,<Space>    * :nohlsearch<CR>
n  Q           * <Nop>
Press ENTER or type command to continue"

In GVim on Windows 10, it shows a tiny dialog window with such a message that must be clicked away before the main window opens.

While searching for the cause of the problem, I read that my .vimrc might have a syntax error or that bindings are overwritten by other modules and vim warns about it, but I was never able to pinpoint the source. Using MacVim, no such messages occur when using the same .vimrc.

What is causing these messages?

3
  • 3
    You'll have to actually add your .vimrc. Start by commenting out everything, and reenabling bit by bit though. You'll find whatever region is responsible relatively fast taht way
    – Zoe
    Feb 28 at 9:21
  • @Zoe Thanks for keeping me looking in the vimrc, I found the problem after all. Seems like I bound a special character (|)?
    – mwil.me
    Feb 28 at 9:36
  • Yeah, you'll have to use <Bar> instead.
    – Zoe
    Feb 28 at 10:16
0

I should have kept looking in the vimrc, the error was caused by the following line:

nnoremap | ,

That should have probably been a different key ...

2
  • 1
    You might have to use <bar> if you really want | in a mapping anywhere
    – D. Ben Knoble
    Feb 28 at 17:38
  • 1
    This will run the :nnoremap command and then :, since | is used to separate commands, like ; in the shell and many programming languages. nnoremap without arguments will print all mappings (resulting in the ENTER prompt). As mentioned, you should use <Bar> in mappings if you want to map it. See :help map-bar. Feb 28 at 23:57

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