@@ -75,7 +75,10 @@ def set_bracketed_paste_key_bindings(config)
75
75
76
76
def set_default_key_bindings_ansi_cursor ( config )
77
77
ANSI_CURSOR_KEY_BINDINGS . each do |char , ( default_func , modifiers ) |
78
- bindings = [ [ "\e [#{ char } " , default_func ] ] # CSI + char
78
+ bindings = [
79
+ [ "\e [#{ char } " , default_func ] , # CSI + char
80
+ [ "\e O#{ char } " , default_func ] # SS3 + char, application cursor key mode
81
+ ]
79
82
if modifiers [ :ctrl ]
80
83
# CSI + ctrl_key_modifier + char
81
84
bindings << [ "\e [1;5#{ char } " , modifiers [ :ctrl ] ]
@@ -123,27 +126,9 @@ def set_default_key_bindings_comprehensive_list(config)
123
126
[ 27 , 91 , 49 , 126 ] => :ed_move_to_beg , # Home
124
127
[ 27 , 91 , 52 , 126 ] => :ed_move_to_end , # End
125
128
126
- # KDE
127
- # Del is 0x08
128
- [ 27 , 71 , 65 ] => :ed_prev_history , # ↑
129
- [ 27 , 71 , 66 ] => :ed_next_history , # ↓
130
- [ 27 , 71 , 67 ] => :ed_next_char , # →
131
- [ 27 , 71 , 68 ] => :ed_prev_char , # ←
132
-
133
129
# urxvt / exoterm
134
130
[ 27 , 91 , 55 , 126 ] => :ed_move_to_beg , # Home
135
131
[ 27 , 91 , 56 , 126 ] => :ed_move_to_end , # End
136
-
137
- # GNOME
138
- [ 27 , 79 , 72 ] => :ed_move_to_beg , # Home
139
- [ 27 , 79 , 70 ] => :ed_move_to_end , # End
140
- # Del is 0x08
141
- # Arrow keys are the same of KDE
142
-
143
- [ 27 , 79 , 65 ] => :ed_prev_history , # ↑
144
- [ 27 , 79 , 66 ] => :ed_next_history , # ↓
145
- [ 27 , 79 , 67 ] => :ed_next_char , # →
146
- [ 27 , 79 , 68 ] => :ed_prev_char , # ←
147
132
} . each_pair do |key , func |
148
133
config . add_default_key_binding_by_keymap ( :emacs , key , func )
149
134
config . add_default_key_binding_by_keymap ( :vi_insert , key , func )
0 commit comments