add movement and deletion search keybinds

This commit is contained in:
Piotr Kocia 2025-04-05 02:40:06 +02:00
parent 7b3d7bf1f1
commit f41558fc80
3 changed files with 189 additions and 11 deletions

View file

@ -199,8 +199,17 @@ static const char *const vimode_search_binding_action_map[] = {
[BIND_ACTION_VIMODE_SEARCH_CANCEL] = "vimode-search-cancel",
[BIND_ACTION_VIMODE_SEARCH_CONFIRM] = "vimode-search-confirm",
[BIND_ACTION_VIMODE_SEARCH_DELETE_PREV_CHAR] = "vimode-search-delete-prev",
[BIND_ACTION_VIMODE_SEARCH_DELETE_NEXT_CHAR] = "vimode-search-delete-next",
[BIND_ACTION_VIMODE_SEARCH_DELETE_PREV_WORD] = "vimode-search-delete-prev-word",
[BIND_ACTION_VIMODE_SEARCH_DELETE_NEXT_WORD] = "vimode-search-delete-next-word",
[BIND_ACTION_VIMODE_SEARCH_DELETE_TO_START] = "vimode-search-delete-to-start",
[BIND_ACTION_VIMODE_SEARCH_DELETE_TO_END] = "vimode-search-delete-to-end",
[BIND_ACTION_VIMODE_SEARCH_LEFT] = "vimode-search-left",
[BIND_ACTION_VIMODE_SEARCH_RIGHT] = "vimode-search-right",
[BIND_ACTION_VIMODE_SEARCH_LEFT_WORD] = "vimode-search-left-word",
[BIND_ACTION_VIMODE_SEARCH_RIGHT_WORD] = "vimode-search-right-word",
[BIND_ACTION_VIMODE_SEARCH_LINE_START] = "vimode-search-line-start",
[BIND_ACTION_VIMODE_SEARCH_LINE_END] = "vimode-search-line-end",
[BIND_ACTION_VIMODE_SEARCH_UNICODE_INPUT] = "vimode-search-unicode-input",
[BIND_ACTION_VIMODE_SEARCH_CLIPBOARD_PASTE] = "vimode-search-clipboard-paste",
[BIND_ACTION_VIMODE_SEARCH_PRIMARY_PASTE] = "vimode-search-primary-paste",
@ -3338,10 +3347,21 @@ add_default_vimode_search_bindings(struct config *conf)
{BIND_ACTION_VIMODE_SEARCH_CANCEL, m("none"), {{XKB_KEY_Escape}}},
{BIND_ACTION_VIMODE_SEARCH_CANCEL, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_c}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_PREV_CHAR, m("none"), {{XKB_KEY_BackSpace}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_NEXT_CHAR, m("none"), {{XKB_KEY_Delete}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_PREV_WORD, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_BackSpace}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_NEXT_WORD, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_Delete}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_TO_START, m(XKB_MOD_NAME_ALT), {{XKB_KEY_BackSpace}}},
{BIND_ACTION_VIMODE_SEARCH_DELETE_TO_END, m(XKB_MOD_NAME_ALT), {{XKB_KEY_Delete}}},
{BIND_ACTION_VIMODE_SEARCH_LEFT, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_h}}},
{BIND_ACTION_VIMODE_SEARCH_LEFT, m("none"), {{XKB_KEY_leftarrow}}},
{BIND_ACTION_VIMODE_SEARCH_RIGHT, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_l}}},
{BIND_ACTION_VIMODE_SEARCH_RIGHT, m("none"), {{XKB_KEY_rightarrow}}},
{BIND_ACTION_VIMODE_SEARCH_LEFT_WORD, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_b}}},
{BIND_ACTION_VIMODE_SEARCH_RIGHT_WORD, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_e}}},
{BIND_ACTION_VIMODE_SEARCH_LINE_START, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_k}}},
{BIND_ACTION_VIMODE_SEARCH_LINE_START, m("none"), {{XKB_KEY_Home}}},
{BIND_ACTION_VIMODE_SEARCH_LINE_END, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_j}}},
{BIND_ACTION_VIMODE_SEARCH_LINE_END, m("none"), {{XKB_KEY_End}}},
{BIND_ACTION_VIMODE_SEARCH_CLIPBOARD_PASTE, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_p}}},
{BIND_ACTION_VIMODE_SEARCH_CLIPBOARD_PASTE, m(XKB_MOD_NAME_CTRL), {{XKB_KEY_v}}},
{BIND_ACTION_VIMODE_SEARCH_CLIPBOARD_PASTE, m(XKB_MOD_NAME_CTRL "+" XKB_MOD_NAME_SHIFT), {{XKB_KEY_v}}},