| Key | Function |
| --- | --- |
-| `Up`, `k`, `^P` | previous entry |
-| `Down`, `j`, `^N` | next entry |
-| `PgUp`, `^U` | scroll half page up |
-| `PgDn`, `^D` | scroll half page down |
-| `Home`, `^`, `^A` | jump to first dir entry |
-| `End`, `$`, `^E` | jump to last dir entry |
-| `Right`, `Enter`, `l`, `^M` | open file or enter dir |
-| `Left`, `Backspace`, `h`, `^H` | parent dir |
-| `~` | jump to home dir |
-| `/`, `&` | filter dir contents |
-| `c` | show change dir prompt |
-| `d` | toggle detail view |
-| `D` | show details of selected file |
-| `.` | toggle hide dot files |
-| `s` | toggle sort by file size |
-| `t` | toggle sort by modified time |
-| `!` | spawn `SHELL` in `PWD` (fallback sh) |
-| `z` | run `top` |
-| `e` | edit entry in `EDITOR` (fallback vi) |
-| `p` | open entry with `PAGER` (fallback less) |
-| `^K` | invoke file name copier |
-| `^L` | redraw window |
-| `q` | quit |
+| `Up`, `k`, `^P` | Previous entry |
+| `Down`, `j`, `^N` | Next entry |
+| `PgUp`, `^U` | Scroll half page up |
+| `PgDn`, `^D` | Scroll half page down |
+| `Home`, `^`, `^A` | Jump to first dir entry |
+| `End`, `$`, `^E` | Jump to last dir entry |
+| `Right`, `Enter`, `l`, `^M` | Open file or enter dir |
+| `Left`, `Backspace`, `h`, `^H` | Go to parent dir |
+| `~` | Jump to HOME dir |
+| `/`, `&` | Filter dir contents |
+| `c` | Show change dir prompt |
+| `d` | Toggle detail view |
+| `D` | Show details of selected file |
+| `.` | Toggle hide .dot files |
+| `s` | Toggle sort by file size |
+| `t` | Toggle sort by modified time |
+| `!` | Spawn `SHELL` in `PWD` (fallback sh) |
+| `z` | Run `top` |
+| `e` | Edit entry in `EDITOR` (fallback vi) |
+| `p` | Open entry in `PAGER` (fallback less) |
+| `^K` | Invoke file name copier |
+| `^L` | Force a redraw |
+| `?` | Show help |
+| `q` | Quit |
### Filters
struct key bindings[] = {
/* Quit */
- { 'q', SEL_QUIT, "\0", "\0" },
+ { 'q', SEL_QUIT, "", "" },
/* Back */
- { KEY_BACKSPACE, SEL_BACK, "\0", "\0" },
- { KEY_LEFT, SEL_BACK, "\0", "\0" },
- { 'h', SEL_BACK, "\0", "\0" },
- { CONTROL('H'), SEL_BACK, "\0", "\0" },
+ { KEY_BACKSPACE, SEL_BACK, "", "" },
+ { KEY_LEFT, SEL_BACK, "", "" },
+ { 'h', SEL_BACK, "", "" },
+ { CONTROL('H'), SEL_BACK, "", "" },
/* Inside */
- { KEY_ENTER, SEL_GOIN, "\0", "\0" },
- { '\r', SEL_GOIN, "\0", "\0" },
- { KEY_RIGHT, SEL_GOIN, "\0", "\0" },
- { 'l', SEL_GOIN, "\0", "\0" },
+ { KEY_ENTER, SEL_GOIN, "", "" },
+ { '\r', SEL_GOIN, "", "" },
+ { KEY_RIGHT, SEL_GOIN, "", "" },
+ { 'l', SEL_GOIN, "", "" },
/* Filter */
- { '/', SEL_FLTR, "\0", "\0" },
- { '&', SEL_FLTR, "\0", "\0" },
+ { '/', SEL_FLTR, "", "" },
+ { '&', SEL_FLTR, "", "" },
/* Next */
- { 'j', SEL_NEXT, "\0", "\0" },
- { KEY_DOWN, SEL_NEXT, "\0", "\0" },
- { CONTROL('N'), SEL_NEXT, "\0", "\0" },
+ { 'j', SEL_NEXT, "", "" },
+ { KEY_DOWN, SEL_NEXT, "", "" },
+ { CONTROL('N'), SEL_NEXT, "", "" },
/* Previous */
- { 'k', SEL_PREV, "\0", "\0" },
- { KEY_UP, SEL_PREV, "\0", "\0" },
- { CONTROL('P'), SEL_PREV, "\0", "\0" },
+ { 'k', SEL_PREV, "", "" },
+ { KEY_UP, SEL_PREV, "", "" },
+ { CONTROL('P'), SEL_PREV, "", "" },
/* Page down */
- { KEY_NPAGE, SEL_PGDN, "\0", "\0" },
- { CONTROL('D'), SEL_PGDN, "\0", "\0" },
+ { KEY_NPAGE, SEL_PGDN, "", "" },
+ { CONTROL('D'), SEL_PGDN, "", "" },
/* Page up */
- { KEY_PPAGE, SEL_PGUP, "\0", "\0" },
- { CONTROL('U'), SEL_PGUP, "\0", "\0" },
+ { KEY_PPAGE, SEL_PGUP, "", "" },
+ { CONTROL('U'), SEL_PGUP, "", "" },
/* Home */
- { KEY_HOME, SEL_HOME, "\0", "\0" },
- { CONTROL('A'), SEL_HOME, "\0", "\0" },
- { '^', SEL_HOME, "\0", "\0" },
+ { KEY_HOME, SEL_HOME, "", "" },
+ { CONTROL('A'), SEL_HOME, "", "" },
+ { '^', SEL_HOME, "", "" },
/* End */
- { KEY_END, SEL_END, "\0", "\0" },
- { CONTROL('E'), SEL_END, "\0", "\0" },
- { '$', SEL_END, "\0", "\0" },
+ { KEY_END, SEL_END, "", "" },
+ { CONTROL('E'), SEL_END, "", "" },
+ { '$', SEL_END, "", "" },
/* Change dir */
- { 'c', SEL_CD, "\0", "\0" },
- { '~', SEL_CDHOME, "\0", "\0" },
+ { 'c', SEL_CD, "", "" },
+ { '~', SEL_CDHOME, "", "" },
/* Toggle hide .dot files */
- { '.', SEL_TOGGLEDOT, "\0", "\0" },
+ { '.', SEL_TOGGLEDOT, "", "" },
/* Detailed listing */
- { 'd', SEL_DETAIL, "\0", "\0" },
+ { 'd', SEL_DETAIL, "", "" },
/* File details */
- { 'D', SEL_STATS, "\0", "\0" },
+ { 'D', SEL_STATS, "", "" },
/* Toggle sort by size */
- { 's', SEL_FSIZE, "\0", "\0" },
+ { 's', SEL_FSIZE, "", "" },
/* Toggle sort by time */
- { 't', SEL_MTIME, "\0", "\0" },
- { CONTROL('L'), SEL_REDRAW, "\0", "\0" },
+ { 't', SEL_MTIME, "", "" },
+ { CONTROL('L'), SEL_REDRAW, "", "" },
/* Copy currently selected file path */
- { CONTROL('K'), SEL_COPY, "\0", "\0" },
+ { CONTROL('K'), SEL_COPY, "", "" },
+ /* Show help */
+ { '?', SEL_HELP, "", "" },
/* Run command */
- { 'z', SEL_RUN, "top", "\0" },
+ { 'z', SEL_RUN, "top", "" },
{ '!', SEL_RUN, "sh", "SHELL" },
/* Run command with argument */
{ 'e', SEL_RUNARG, "vi", "EDITOR" },