"Minimizing" vertical VIM window splits

First up, you won't be able to use <S-C- (shift + control) in your code (see below). But you can use the 'mapleader' as your "shift" and then use the <C-h> and <C-l> like you want to. Like this:

set winminwidth=0
nmap <Leader><C-h> <C-W>h500<C-W>>             
nmap <Leader><C-l> <C-W>l500<C-W>>               

The common leader keys in vim are comma and back-slash:

:let mapleader = ","

But you'll find that this gets annoying to require 3 keystrokes for this, so you might as well just drop the control key stroke. This way (if your leader is comma) you can just press ",h" and ",l" to go to the splits to your left and right:

set winminwidth=0
nmap <Leader>h <C-W>h500<C-W>>             
nmap <Leader>l <C-W>l500<C-W>>       

" (FTW) :D

...

A guy named Tony Chapman answers why you can't use control + shift:

Vim maps its Ctrl+printable_key combinations according to ASCII. This means that "Ctrl+lowercase letter" is the same as the corresponding "Ctrl+uppercase letter" and that Ctrl+<key> (where <key> is a printable key) is only defined when <key> is in the range 0x40-0x5F, a lowercase letter, or a question mark. It also means that Ctrl-[ is the same as Esc, Ctrl-M is the same as Enter, Ctrl-I is the same as Tab.

So yes, Ctrl-s and Ctrl-S (i.e. Ctrl-s and Ctrl-Shift-s) are the same to Vim. This is by design and is not going to change.


Try

set winminwidth=0
map <S-C-L> <C-W>h<C-W>|
map <S-C-H> <C-W>l<C-W>|

This doesn't move a window completely to the left or right (that's <C-W>H and <C-W>L), it just moves the cursor to the left (or right) window and maximizes that window horizontally.

See :help CTRL_W_bar for more.

Tags:

Vim