From 07c59cfd6234cd2b5d5b0c344995f95cb2903261 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Tue, 4 Apr 2017 09:16:29 +0530 Subject: [PATCH] vim-ish binding for jump to first and last entry It was troubling me. Mimicking 'gg' would have been hacky and would need additional processing... 'g' was free. Who cares even if you press twice? ;) --- README.md | 9 +++++++-- config.def.h | 2 ++ nnn.1 | 4 ++-- nnn.c | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 51156ac..0b79ee5 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,11 @@ nnn is a fork of [noice](http://git.2f30.org/noice/), a blazing-fast terminal fi The only issue with noice is hard-coded file associations. There is no config file (better performance and simpler to maintain) and one has to modify the source to change associations (see [how to change file associations](#change-file-associations)). nnn solves the problem by adding the flexibility of using the default desktop opener at runtime. There are several other improvements too (see [fork-toppings](#fork-toppings)). +You can try + + alias n='nnn -d' +and see how nnn simplifies those long desktop sessions. + Have fun with it! PRs are welcome. Check out [#1](https://github.com/jarun/nnn/issues/1). ### Why fork? @@ -113,8 +118,8 @@ Start nnn (default: current directory): | `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 | +| `Home`, `g`, `^`, `^A` | Jump to first entry | +| `End`, `G`, `$`, `^E` | Jump to last entry | | `Right`, `Enter`, `l`, `^M` | Open file or enter dir | | `Left`, `Backspace`, `h`, `^H` | Go to parent dir | | `~` | Jump to HOME dir | diff --git a/config.def.h b/config.def.h index 4a80b57..6c47663 100644 --- a/config.def.h +++ b/config.def.h @@ -53,10 +53,12 @@ struct key bindings[] = { { CONTROL('U'), SEL_PGUP, "", "" }, /* Home */ { KEY_HOME, SEL_HOME, "", "" }, + { 'g', SEL_HOME, "", "" }, { CONTROL('A'), SEL_HOME, "", "" }, { '^', SEL_HOME, "", "" }, /* End */ { KEY_END, SEL_END, "", "" }, + { 'G', SEL_END, "", "" }, { CONTROL('E'), SEL_END, "", "" }, { '$', SEL_END, "", "" }, /* Change dir */ diff --git a/nnn.1 b/nnn.1 index b9830e5..7de1423 100644 --- a/nnn.1 +++ b/nnn.1 @@ -30,9 +30,9 @@ Move to next entry Scroll up half a page .It Ic [PgDn], ^D Scroll down half a page -.It Ic [Home], ^, ^A +.It Ic [Home], g, ^, ^A Move to the first entry -.It Ic [End], $, ^E +.It Ic [End], G, $, ^E Move to the last entry .It Ic [Right], [Enter], l, ^M Open file or enter directory diff --git a/nnn.c b/nnn.c index 00116b7..cf43628 100644 --- a/nnn.c +++ b/nnn.c @@ -845,8 +845,8 @@ show_help(void) [Down], j, ^N Next entry\n\ [PgUp], ^U Scroll half page up\n\ [PgDn], ^D Scroll half page down\n\ - [Home], ^, ^A Jump to first dir entry\n\ - [End], $, ^E Jump to last dir entry\n\ + [Home], g, ^, ^A Jump to first entry\n\ + [End], G, $, ^E Jump to last entry\n\ [Right], [Enter], l, ^M Open file or enter dir\n\ [Left], [Backspace], h, ^H Go to parent dir\n\ ~ Jump to HOME dir\n\