blob: a28e26c19c9a8d646d06cf9902f7d9141b25058c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
" Using <C-w>+, <C-w>-, <C-w><, <C-w>> without a number will enter a "resize"
" mode where the pane can be resized by repeatedly pressing those keys.
if !exists("g:vim_fieldmarshal_resize_skip")
let g:vim_fieldmarshal_resize_skip = 3
endif
function! s:enter_resize_mode(chr) abort
let c = a:chr
if v:count != 0
exec "wincmd " . c
return
endif
exec g:vim_fieldmarshal_resize_skip . "wincmd " . c
redraw
let c = nr2char(getchar())
while c == '<' || c == '>' || c == '+' || c == '-'
exec g:vim_fieldmarshal_resize_skip . "wincmd " . c
redraw
let c = nr2char(getchar())
endwhile
endfunction
noremap <C-w>+ <cmd>call <sid>enter_resize_mode('+')<cr>
noremap <C-w>- <cmd>call <sid>enter_resize_mode('-')<cr>
noremap <C-w>> <cmd>call <sid>enter_resize_mode('>')<cr>
noremap <C-w>< <cmd>call <sid>enter_resize_mode('<')<cr>
|