I'm trying to map C-S-[ and C-S-] respectively to :tabprev and tabnext, but when I try that then I get "no lines in buffer".
A mapping like C-S-tab works. I looked through :nmap and didn't find an existing mapping. What am I missing?
I'm trying to map C-S-[ and C-S-] respectively to :tabprev and tabnext, but when I try that then I get "no lines in buffer".
A mapping like C-S-tab works. I looked through :nmap and didn't find an existing mapping. What am I missing?
Thanks to the link in the comment by @statox♦ I was able to figure this out.
This answer included a link to this question where the accepted answer explains that intercepting a <C-f> is equivalent to intercepting a <C-F> (technically <C-S-f>) in gvim, because:
Vim reads characters from the terminal, which sends
^F(ASCII code0x06) for both Ctrl+f and Ctrl+Shift+f; Vim has no way of knowing whether you pressed the Shift key.
The solution is to just map C-[ and C-], which works well for me.
<c-[> is an equivalent of <esc> and <c-]> is "Jump to the definition of the keyword under the cursor". You might want to use something else, e.g <leader>].
– Biggybi
Jul 20 '20 at 09:57