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 51156ac8..0b79ee55 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 4a80b574..6c47663a 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 b9830e57..7de14232 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 00116b74..cf436281 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\