Skip to content

Commit

Permalink
add ctrl-left/right and shift-left/right bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
thestinger committed Oct 2, 2012
1 parent ee5486b commit a7e2352
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
8 changes: 6 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,13 @@ COMMAND MODE
+------------------------+-----------------------------------------------------------+
| ``hjkl`` or arrow keys | move cursor left/down/up/right |
+------------------------+-----------------------------------------------------------+
| ``w``/``b`` | forward/backward word |
| ``w`` or shift-right | forward word |
+------------------------+-----------------------------------------------------------+
| ``W``/``B`` | forward/backward WORD (non-whitespace) |
| ``b`` or shift-left | backward word |
+------------------------+-----------------------------------------------------------+
| ``W`` or ctrl-right | forward WORD (non-whitespace) |
+------------------------+-----------------------------------------------------------+
| ``W`` or ctrl-left | backward WORD (non-whitespace) |
+------------------------+-----------------------------------------------------------+
| ``$`` | end-of-line |
+------------------------+-----------------------------------------------------------+
Expand Down
22 changes: 20 additions & 2 deletions termite.cc
Original file line number Diff line number Diff line change
Expand Up @@ -437,11 +437,29 @@ gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info)
const guint modifiers = event->state & gtk_accelerator_get_default_mod_mask();
if (info->select.mode != vi_mode::insert) {
if (modifiers == GDK_CONTROL_MASK) {
if (gdk_keyval_to_lower(event->keyval) == GDK_KEY_v) {
toggle_visual(vte, &info->select, vi_mode::visual_block);
switch (gdk_keyval_to_lower(event->keyval)) {
case GDK_KEY_v:
toggle_visual(vte, &info->select, vi_mode::visual_block);
break;
case GDK_KEY_Left:
move_backward_blank_word(vte, &info->select);
break;
case GDK_KEY_Right:
move_forward_blank_word(vte, &info->select);
break;
}
return TRUE;
}
if (modifiers == GDK_SHIFT_MASK) {
switch (event->keyval) {
case GDK_KEY_Left:
move_backward_word(vte, &info->select);
return TRUE;
case GDK_KEY_Right:
move_forward_word(vte, &info->select);
return TRUE;
}
}
switch (event->keyval) {
case GDK_KEY_Escape:
exit_command_mode(info->panel.vte, &info->select);
Expand Down

0 comments on commit a7e2352

Please sign in to comment.