From 5f20d6d26f2da0633f81a130b7450c8d778d5f1c Mon Sep 17 00:00:00 2001 From: Julian Prein Date: Fri, 12 May 2023 12:02:56 +0200 Subject: [PATCH] vim:keys: Respect 'foldopen' on remapped movements Execute 'zv' depending on the existence of the equivalent movement type in 'foldopen'. --- .config/vim/vimrc.d/40-keys.vim | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.config/vim/vimrc.d/40-keys.vim b/.config/vim/vimrc.d/40-keys.vim index c62e599..5d2f86c 100644 --- a/.config/vim/vimrc.d/40-keys.vim +++ b/.config/vim/vimrc.d/40-keys.vim @@ -60,9 +60,9 @@ map st set spell! map sc call CycleSpellLang() map ss :set spelllang= -" Jump through jump table but center -noremap zvzz -noremap zvzz +" Jump through jump table but center while still respecting 'foldopen' +noremap '' . (match(&fdo, 'mark') > -1 ? 'zv' : '') . 'zz' +noremap '' . (match(&fdo, 'mark') > -1 ? 'zv' : '') . 'zz' nmap " Terminal @@ -274,13 +274,13 @@ vnoremap > >gv vnoremap < n 'n'. (match(&fdo, 'search') > -1 ? 'zv' : '') .'zz' +noremap N 'N'. (match(&fdo, 'search') > -1 ? 'zv' : '') .'zz' cnoremap "" . \ (getcmdtype() == '/' \|\| getcmdtype() == '?' - \ ? "zvzz" + \ ? (match(&fdo, 'search') > -1 ? 'zv' : '') . "zz" \ : "") " Switch to lower/upper case