function s:reveal(direction, resetCursor) call VSCodeExtensionNotify('reveal', a:direction, a:resetCursor) endfunction nnoremap z call reveal('top', 1) xnoremap z call reveal('top', 1) nnoremap zt call reveal('top', 0) xnoremap zt call reveal('top', 0) nnoremap z. call reveal('center', 1) xnoremap z. call reveal('center', 1) nnoremap zz call reveal('center', 0) xnoremap zz call reveal('center', 0) nnoremap z- call reveal('bottom', 1) xnoremap z- call reveal('bottom', 1) nnoremap zb call reveal('bottom', 0) xnoremap zb call reveal('bottom', 0) function s:moveCursor(to) " Native VSCode commands don't register jumplist. Fix by registering jumplist in Vim e.g. for subsequent use of normal! m' call VSCodeExtensionNotify('move-cursor', a:to) endfunction nnoremap H call moveCursor('top') xnoremap H call moveCursor('top') nnoremap M call moveCursor('middle') xnoremap M call moveCursor('middle') nnoremap L call moveCursor('bottom') xnoremap L call moveCursor('bottom') " Disabled due to scroll problems (the ext binds them directly) " nnoremap VSCodeExtensionNotify('scroll', 'halfPage', 'down') " xnoremap VSCodeExtensionNotify('scroll', 'halfPage', 'down') " nnoremap VSCodeExtensionNotify('scroll', 'halfPage', 'up') " xnoremap VSCodeExtensionNotify('scroll', 'halfPage', 'up') " nnoremap VSCodeExtensionNotify('scroll', 'page', 'down') " xnoremap VSCodeExtensionNotify('scroll', 'page', 'down') " nnoremap VSCodeExtensionNotify('scroll', 'page', 'up') " xnoremap VSCodeExtensionNotify('scroll', 'page', 'up') " nnoremap VSCodeExtensionNotify('scroll-line', 'down') " xnoremap VSCodeExtensionNotify('scroll-line', 'down') " nnoremap VSCodeExtensionNotify('scroll-line', 'up') " xnoremap VSCodeExtensionNotify('scroll-line', 'up')