Add keys to move to the first and last entry

This commit is contained in:
lostd 2015-07-12 13:32:31 +01:00
parent 4db0d0dae0
commit dcde076371
3 changed files with 20 additions and 0 deletions

View file

@ -45,6 +45,14 @@ struct key bindings[] = {
/* Page up */
{ KEY_PPAGE, SEL_PGUP },
{ CONTROL('U'), SEL_PGUP },
/* Home */
{ KEY_HOME, SEL_HOME },
{ CONTROL('A'), SEL_HOME },
{ '^', SEL_HOME },
/* End */
{ KEY_END, SEL_END },
{ CONTROL('E'), SEL_END },
{ '$', SEL_END },
/* Change dir */
{ 'c', SEL_CD },
/* Toggle sort by time */

View file

@ -37,6 +37,10 @@ Move to next entry.
Scroll up half a page.
.It Ic [Pgdown] or C-d
Scroll down half a page.
.It Ic [Home] or C-a or ^
Move to the first entry.
.It Ic [End] or C-e or $
Move to the last entry.
.It Ic l, [Right], [Return] or C-m
Open file or enter directory.
.It Ic h, [Left] or [Backspace]

View file

@ -54,6 +54,8 @@ enum action {
SEL_PREV,
SEL_PGDN,
SEL_PGUP,
SEL_HOME,
SEL_END,
SEL_CD,
SEL_MTIME,
SEL_REDRAW,
@ -827,6 +829,12 @@ moretyping:
if (cur > 0)
cur -= MIN((LINES - 4) / 2, cur);
break;
case SEL_HOME:
cur = 0;
break;
case SEL_END:
cur = n - 1;
break;
case SEL_CD:
/* Read target dir */
printprompt("chdir: ");