summaryrefslogtreecommitdiff
path: root/.vim/feat/term_scroll.vim
blob: ef550177a8bbfe2ea7417fa0d29b8fc56c271b59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
" Scrolling (shows history) in terminal (except in lazygit)
" Scroll up to activate it, and press right mouse button to deactivate it
" Slightly modified version of: https://github.com/vim/vim/issues/2490#issuecomment-393973253
tmap <silent> <buffer> <ScrollWheelUp> <c-w>:call EnterNormalMode()<CR>

function! ExitNormalMode()
	unmap <silent> <buffer> <RightMouse>
	call feedkeys("a")
endfunction

function! EnterNormalMode()
	if bufname('%') =~ '!lazygit'
		tunmap <buffer> <ScrollWheelUp>
	elseif &buftype == 'terminal' && mode('') == 't'
		call feedkeys("\<c-w>N")
		call feedkeys("\<c-y>")
		map <silent> <buffer> <RightMouse> :call ExitNormalMode()<CR>
	endif
endfunction