This commit is contained in:
Piotr Kocia 2025-03-31 11:02:24 +02:00
parent 23c95f1dea
commit 26266dff3b
4 changed files with 341 additions and 62 deletions

View file

@ -176,6 +176,13 @@ static const char *const vimode_binding_action_map[] = {
[BIND_ACTION_VIMODE_DOWN_LINE] = "vimode-down-line",
[BIND_ACTION_VIMODE_FIRST_LINE] = "vimode-first-line",
[BIND_ACTION_VIMODE_LAST_LINE] = "vimode-last-line",
[BIND_ACTION_VIMODE_LINE_BEGIN] = "vimode-line-begin",
[BIND_ACTION_VIMODE_LINE_END] = "vimode-line-end",
[BIND_ACTION_VIMODE_TEXT_BEGIN] = "vimode-text-begin",
[BIND_ACTION_VIMODE_NEXT_WORD_BEGIN] = "vimode-next-word-begin",
[BIND_ACTION_VIMODE_PREV_WORD_END] = "vimode-prev-word-end",
[BIND_ACTION_VIMODE_WORD_BEGIN] = "vimode-word-begin",
[BIND_ACTION_VIMODE_WORD_END] = "vimode-word-end",
[BIND_ACTION_VIMODE_CANCEL] = "vimode-cancel",
[BIND_ACTION_VIMODE_START_SEARCH_FORWARD] = "vimode-start-search-forward",
[BIND_ACTION_VIMODE_START_SEARCH_BACKWARD] = "vimode-start-search-backward",
@ -3282,6 +3289,14 @@ add_default_vimode_bindings(struct config *conf)
{BIND_ACTION_VIMODE_DOWN_LINE, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_e}}},
{BIND_ACTION_VIMODE_FIRST_LINE, m("none"), {{XKB_KEY_g}}},
{BIND_ACTION_VIMODE_LAST_LINE, m(XKB_MOD_NAME_SHIFT), {{XKB_KEY_g}}},
{BIND_ACTION_VIMODE_LINE_BEGIN, m("none"), {{XKB_KEY_0}}},
{BIND_ACTION_VIMODE_LINE_END, m(XKB_MOD_NAME_SHIFT), {{XKB_KEY_4}}},
{BIND_ACTION_VIMODE_TEXT_BEGIN, m(XKB_MOD_NAME_SHIFT), {{XKB_KEY_6}}},
{BIND_ACTION_VIMODE_NEXT_WORD_BEGIN, m("none"), {{XKB_KEY_w}}},
// TODO (kociap): PREV_WORD_END currently unbound. By default 'ge' in vim.
// {BIND_ACTION_VIMODE_PREV_WORD_END, m("none"), {{XKB_KEY_}}},
{BIND_ACTION_VIMODE_WORD_BEGIN, m("none"), {{XKB_KEY_b}}},
{BIND_ACTION_VIMODE_WORD_END, m("none"), {{XKB_KEY_e}}},
{BIND_ACTION_VIMODE_CANCEL, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_c}}},
{BIND_ACTION_VIMODE_CANCEL, m("none"), {{XKB_KEY_Escape}}},
{BIND_ACTION_VIMODE_START_SEARCH_FORWARD, m("none"), {{XKB_KEY_slash}}},