@@ -75,7 +75,10 @@ def set_bracketed_paste_key_bindings(config)
7575
7676 def set_default_key_bindings_ansi_cursor ( config )
7777 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+ ]
7982 if modifiers [ :ctrl ]
8083 # CSI + ctrl_key_modifier + char
8184 bindings << [ "\e [1;5#{ char } " , modifiers [ :ctrl ] ]
@@ -123,27 +126,9 @@ def set_default_key_bindings_comprehensive_list(config)
123126 [ 27 , 91 , 49 , 126 ] => :ed_move_to_beg , # Home
124127 [ 27 , 91 , 52 , 126 ] => :ed_move_to_end , # End
125128
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-
133129 # urxvt / exoterm
134130 [ 27 , 91 , 55 , 126 ] => :ed_move_to_beg , # Home
135131 [ 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 , # ←
147132 } . each_pair do |key , func |
148133 config . add_default_key_binding_by_keymap ( :emacs , key , func )
149134 config . add_default_key_binding_by_keymap ( :vi_insert , key , func )
0 commit comments