From ac2585297c59349269d7a3b5e98ff3c68fe3c9a7 Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Sat, 7 Jul 2012 00:10:30 -0400 Subject: [PATCH] add $ (EOL) and ^ (BOL) bindings to selection mode --- README.rst | 2 ++ termite.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/README.rst b/README.rst index 32945ef..17baea3 100644 --- a/README.rst +++ b/README.rst @@ -39,6 +39,8 @@ TEXT SELECTION MODE * ``V``: visual line mode * ``ctrl-v``: visual block mode * ``h``/``j``/``k``/``l`` or arrow keys: move cursor left/down/up/right +* ``$``: end-of-line +* ``^``: beginning-of-line TODO ==== diff --git a/termite.c b/termite.c index d85d991..6f5d2ba 100644 --- a/termite.c +++ b/termite.c @@ -154,6 +154,7 @@ gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, search_panel_info *i } return TRUE; } + char *eol; switch (event->keyval) { case GDK_KEY_Left: case GDK_KEY_h: @@ -171,6 +172,14 @@ gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, search_panel_info *i case GDK_KEY_l: vte_terminal_feed(vte, CSI "1C", strlen(CSI "1C")); break; + case GDK_KEY_asciicircum: + vte_terminal_feed(vte, CSI "0G", strlen(CSI "0G")); + break; + case GDK_KEY_dollar: + eol = g_strdup_printf(CSI "%ldG", vte_terminal_get_column_count(vte)); + vte_terminal_feed(vte, eol, (long)strlen(eol)); + g_free(eol); + break; case GDK_KEY_v: toggle_visual(vte, &info->select, SELECT_VISUAL); break;