@@ -138,28 +138,35 @@ pub fn default() -> Keymaps {
138 vec![key!('h')] => commands::move_char_left as Command,
138 vec![key!('h')] => commands::move_char_left as Command,
139 vec![key!('j')] => commands::move_line_down,
139 vec![key!('j')] => commands::move_line_down,
140 vec![key!('k')] => commands::move_line_up,
140 vec![key!('k')] => commands::move_line_up,
141+ vec![key!('l')] => commands::move_char_right,
141 vec![key!('0')] => commands::move_line_start,
143 vec![key!('0')] => commands::move_line_start,
142 vec![key!('$')] => commands::move_line_end,
144 vec![key!('$')] => commands::move_line_end,
143− vec![key!('l')] => commands::move_char_right,
145+
144 vec![shift!('H')] => commands::extend_char_left,
146 vec![shift!('H')] => commands::extend_char_left,
145 vec![shift!('J')] => commands::extend_line_down,
147 vec![shift!('J')] => commands::extend_line_down,
146 vec![shift!('K')] => commands::extend_line_up,
148 vec![shift!('K')] => commands::extend_line_up,
147 vec![shift!('L')] => commands::extend_char_right,
149 vec![shift!('L')] => commands::extend_char_right,
148 vec![key!('w')] => commands::move_next_word_start,
151 vec![key!('w')] => commands::move_next_word_start,
149 vec![shift!('W')] => commands::extend_next_word_start,
152 vec![shift!('W')] => commands::extend_next_word_start,
150 vec![key!('b')] => commands::move_prev_word_start,
153 vec![key!('b')] => commands::move_prev_word_start,
151 vec![shift!('B')] => commands::extend_prev_word_start,
154 vec![shift!('B')] => commands::extend_prev_word_start,
152 vec![key!('e')] => commands::move_next_word_end,
155 vec![key!('e')] => commands::move_next_word_end,
153 vec![key!('E')] => commands::extend_next_word_end,
156 vec![key!('E')] => commands::extend_next_word_end,
155 vec![key!('g')] => commands::goto_mode,
158 vec![key!('g')] => commands::goto_mode,
159+ vec![key!(':')] => commands::command_mode,
156 vec![key!('i')] => commands::insert_mode,
161 vec![key!('i')] => commands::insert_mode,
157 vec![shift!('I')] => commands::prepend_to_line,
162 vec![shift!('I')] => commands::prepend_to_line,
158 vec![key!('a')] => commands::append_mode,
163 vec![key!('a')] => commands::append_mode,
159 vec![shift!('A')] => commands::append_to_line,
164 vec![shift!('A')] => commands::append_to_line,
160 vec![key!('o')] => commands::open_below,
165 vec![key!('o')] => commands::open_below,
161 vec![key!('d')] => commands::delete_selection,
167 vec![key!('d')] => commands::delete_selection,
162 vec![key!('c')] => commands::change_selection,
168 vec![key!('c')] => commands::change_selection,
163 vec![key!('s')] => commands::select_regex,
170 vec![key!('s')] => commands::select_regex,
164 vec![alt!('s')] => commands::split_selection_on_newline,
171 vec![alt!('s')] => commands::split_selection_on_newline,
165 vec![shift!('S')] => commands::split_selection,
172 vec![shift!('S')] => commands::split_selection,
@@ -167,19 +174,24 @@ pub fn default() -> Keymaps {
167 vec![alt!(';')] => commands::flip_selections,
174 vec![alt!(';')] => commands::flip_selections,
168 vec![key!('%')] => commands::select_all,
175 vec![key!('%')] => commands::select_all,
169 vec![key!('x')] => commands::select_line,
176 vec![key!('x')] => commands::select_line,
170 // TODO: figure out what key to use
178 // TODO: figure out what key to use
171 vec![key!('[')] => commands::expand_selection,
179 vec![key!('[')] => commands::expand_selection,
172 vec![key!('/')] => commands::search,
181 vec![key!('/')] => commands::search,
173 vec![key!('n')] => commands::search_next,
182 vec![key!('n')] => commands::search_next,
174 vec![key!('*')] => commands::search_selection,
183 vec![key!('*')] => commands::search_selection,
175 vec![key!('u')] => commands::undo,
185 vec![key!('u')] => commands::undo,
176 vec![shift!('U')] => commands::redo,
186 vec![shift!('U')] => commands::redo,
177 vec![key!('y')] => commands::yank,
188 vec![key!('y')] => commands::yank,
178 vec![key!('p')] => commands::paste,
189 vec![key!('p')] => commands::paste,
179 vec![key!('>')] => commands::indent,
191 vec![key!('>')] => commands::indent,
180 vec![key!('<')] => commands::unindent,
192 vec![key!('<')] => commands::unindent,
181 vec![key!('=')] => commands::format_selections,
193 vec![key!('=')] => commands::format_selections,
182− vec![key!(':')] => commands::command_mode,
194+ vec![ctrl!('j')] => commands::join_selections,
183 vec![Key {
195 vec![Key {
184 code: KeyCode::Esc,
196 code: KeyCode::Esc,
185 modifiers: Modifiers::NONE
197 modifiers: Modifiers::NONE