From 1e46113c9acffdec505a471f9fbd923bccf5171f Mon Sep 17 00:00:00 2001 From: David Phillips Date: Sun, 27 Sep 2020 22:00:29 +1300 Subject: Hack in vimclutch functionality This will need some polishing but it mostly works like this --- vimrc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/vimrc b/vimrc index 97a6e76..abb9b5e 100644 --- a/vimrc +++ b/vimrc @@ -89,3 +89,26 @@ highlight DiffAdd cterm=bold ctermfg=233 ctermbg=101 gui=none guifg=bg guibg highlight DiffDelete cterm=bold ctermfg=175 ctermbg=175 gui=none guifg=bg guibg=Red highlight DiffChange cterm=bold ctermfg=234 ctermbg=101 gui=none guifg=bg guibg=Red highlight DiffText cterm=none ctermfg=242 ctermbg=0 gui=none guifg=bg guibg=Red + +let g:previousmode = 'i' +function PushModeSwitchNormal() abort + let g:previousmode = mode() + " important: l so that we don't walk backward every time clutch is pushed + return "\\l" +endfunction + +function PopMode() abort + return g:previousmode +endfunction + +inoremap PushModeSwitchNormal() +vnoremap PushModeSwitchNormal() +xnoremap PushModeSwitchNormal() +snoremap PushModeSwitchNormal() +onoremap PushModeSwitchNormal() +inoremap +vnoremap +xnoremap +snoremap +onoremap +nnoremap PopMode() -- cgit v1.1