From eaf66c7c02086359a6575b87fd0e4afbad862303 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Thu, 2 Mar 2023 08:33:13 +0900 Subject: [PATCH] keymap/vi (decompose-meta): translate "S-a" to "A" --- ble-edit.sh | 2 +- keymap/vi.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ble-edit.sh b/ble-edit.sh index 3925809d..7dca419c 100644 --- a/ble-edit.sh +++ b/ble-edit.sh @@ -6404,7 +6404,7 @@ function ble-decode/keymap:safe/bind-common { ble-decode/keymap:safe/.bind 'S-home' '@marked beginning-of-line' ble-decode/keymap:safe/.bind 'S-end' '@marked end-of-line' ble-decode/keymap:safe/.bind 'M-m' '@nomarked beginning-of-line' - ble-decode/keymap:safe/.bind 'S-M-m' '@marked beginning-of-line' + ble-decode/keymap:safe/.bind 'M-S-m' '@marked beginning-of-line' ble-decode/keymap:safe/.bind 'M-M' '@marked beginning-of-line' ble-decode/keymap:safe/.bind 'C-p' '@nomarked backward-line' # overwritten by bind-history ble-decode/keymap:safe/.bind 'up' '@nomarked backward-line' # overwritten by bind-history diff --git a/keymap/vi.sh b/keymap/vi.sh index 6191da7f..a74b6262 100644 --- a/keymap/vi.sh +++ b/keymap/vi.sh @@ -114,7 +114,9 @@ function ble/widget/vi_imap/__default__ { local esc=27 # ESC # local esc=$((ble_decode_Ctrl|0x5b)) # もしくは C-[ - ble-decode-key "$esc" "$((KEYS[0]&~ble_decode_Meta))" "${KEYS[@]:1}" + ((flag&=~_ble_decode_Meta)) + ((flag==_ble_decode_Shft&&0x61<=code&&code<=0x7A&&(flag=0,code-=0x20))) + ble-decode-key "$esc" "$((flag|code))" "${KEYS[@]:1}" return 0 fi @@ -140,7 +142,9 @@ function ble/widget/vi-command/decompose-meta { old_suppress=$_ble_decode_keylog_depth local _ble_decode_keylog_depth=$((old_suppress-1)) - ble-decode-key "$esc" "$((KEYS[0]&~ble_decode_Meta))" "${KEYS[@]:1}" + ((flag&=~_ble_decode_Meta)) + ((flag==_ble_decode_Shft&&0x61<=code&&code<=0x7A&&(flag=0,code-=0x20))) + ble-decode-key "$esc" "$((flag|code))" "${KEYS[@]:1}" return 0 fi