ctrl-u/ctrl-k to make editing a bit more ergonomic

This commit is contained in:
Kartik K. Agaram 2021-11-28 20:48:54 -08:00
parent 68211363ca
commit eec4845c31
2 changed files with 18 additions and 1 deletions

View File

@ -389,7 +389,7 @@ static void editorFreeRow(erow *row) {
free(row->hl);
}
/* Remove the row at the specified position, shifting the remainign on the
/* Remove the row at the specified position, shifting the remaining on the
* top. */
static void editorDelRow(int at) {
erow *row;
@ -654,6 +654,8 @@ static void editorMenu(void) {
draw_menu_item("^f", "find");
draw_menu_item("^a", "start of line");
draw_menu_item("^l", "end of line");
draw_menu_item("^u", "delete to start of line");
draw_menu_item("^k", "delete to end of line");
attrset(A_NORMAL);
}
@ -1097,6 +1099,20 @@ static void editorProcessKeypress(lua_State* L) {
}
}
break;
case CTRL_U:
while (!editorAtStartOfLine())
editorDelChar();
break;
case CTRL_K:
while (1) {
editorMoveCursor(KEY_RIGHT);
if (editorAtStartOfLine()) {
editorMoveCursor(KEY_LEFT);
break;
}
editorDelChar();
}
break;
case KEY_UP:
case KEY_DOWN:
case KEY_LEFT:

View File

@ -18,6 +18,7 @@ enum KEY_ACTION {
#endif
TAB = 9,
ENTER = 10,
CTRL_K = 11,
CTRL_L = 12,
CTRL_Q = 17,
CTRL_R = 18,