noremap <expr> j <SID>cast('j') noremap <expr> k <SID>cast('k') noremap <expr> h <SID>cast('h') noremap <expr> l <SID>cast('l') function! s:cast(key) "{{{ return repeat('gs', !v:count) . a:key endfunction "}}}