this post was submitted on 08 Dec 2023
7 points (88.9% liked)

Neovim

2205 readers
1 users here now

founded 2 years ago
MODERATORS
 

I have Ctrl-h mapped to move to the pane left of current in Normal Mode. If I forget that I'm in insert mode and do this, it just locked up Neovim and starts consuming processor until I force quit. I can't find what this mapping is trying to do and how to undo it. It occasionally causes me to lose work. Please help. :-)

EDIT: I just looked in my config to try to just add this binding to do the same thing in Insert Mode and discovered that that's what it's already supposed to do. I have CTRL-H mapped to , but all it does is lockup Neovim.

you are viewing a single comment's thread
view the rest of the comments
[–] rustbuckett 1 points 1 year ago

I think I'm on the trail. According to this post on Reddit, some terminal emulators have trouble passing the correct codes to terminal apps like Neovim. I did manage to break C-H completely, but that's not really helpful. By adding the following keybinds to alacritty.yml, I'm getting Neovim to behave differently, but not as expected.

key_bindings:
  - { key: F6,    mods: Shift,        chars: "\x1b[17~;1u"   }
  - { key: H,     mods: Control,               chars: "\x1b[72;4u"}

The first one for S-F6, gets Neovim to recognize the 'F6' part, but does not behave any differently than if I just pressed 'F6' without the modifier. But, without this key binding in alacritty.yml, Neovim doesn't react to Shift+F6 at all.

The second entry, if I'm in Insert Mode in Neovim, causes Neovim to switch to Normal Mode and go to the top of the buffer. In normal mode, it just goes to the top of the buffer instead of the defined behavior of moving to the pane to the left of the current pane.

So, I've basically managed to get a "different error", but not solve the problem. Any ideas?