From d47dac90413835142e5a232d5b80de2464f71c74 Mon Sep 17 00:00:00 2001 From: Zhiming Ma Date: Fri, 17 Nov 2023 13:24:57 +0800 Subject: [PATCH] fix(vim): fix vim tab keybinding fallback. (#763) --- clients/vim/autoload/tabby/keybindings.vim | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/clients/vim/autoload/tabby/keybindings.vim b/clients/vim/autoload/tabby/keybindings.vim index 6922603..4fea4d2 100644 --- a/clients/vim/autoload/tabby/keybindings.vim +++ b/clients/vim/autoload/tabby/keybindings.vim @@ -12,11 +12,16 @@ function! tabby#keybindings#Map() if !empty(mapcheck('', 'i')) " fallback to the original mapping let tab_maparg = maparg('', 'i', 0, 1) - " warp as function if rhs is expr, otherwise encode rhs as json - let fallback_rhs = tab_maparg.expr ? '{ -> ' . tab_maparg.rhs . ' }' : substitute(json_encode(tab_maparg.rhs), '<', '\\<', 'g') - " inject - let fallback_rhs = substitute(fallback_rhs, '', "\" . get(tab_maparg, 'sid') . '_', 'g') - exec 'imap