I use horizontal and vertical window splits in religiously in VIM and up until recently, I enjoyed the comfort of two commands to effectively hide (or minimize) my horizontal sp
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.
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 thatCtrl+<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 thatCtrl-[
is the same asEsc
,Ctrl-M
is the same asEnter
,Ctrl-I
is the same asTab
.So yes,
Ctrl-s
andCtrl-S
(i.e.Ctrl-s
andCtrl-Shift-s
) are the same to Vim. This is by design and is not going to change.
Crl-w 1 |
will minimize current window in Vim.