]> Sergey Matveev's repositories - nnn.git/commitdiff
vim-ish binding for jump to first and last entry
authorArun Prakash Jana <engineerarun@gmail.com>
Tue, 4 Apr 2017 03:46:29 +0000 (09:16 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Tue, 4 Apr 2017 04:16:52 +0000 (09:46 +0530)
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
config.def.h
nnn.1
nnn.c

index 51156ac888ee68a50f7882aabdf88d7d21f1cf9c..0b79ee558026dcfda13d2ec3590d634435a93d97 100644 (file)
--- 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 |
index 4a80b5740fddb1b4fb2028c9f29b82ac444c360e..6c47663acaf00fdc230662665fb3dc0e689e4bf9 100644 (file)
@@ -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 b9830e576d539e13c66768b0ca1479721158964f..7de14232bf6f3aaadb4ce30e9d1f03d58fd576f1 100644 (file)
--- 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 00116b74511915e8faa99b72409ebf9b641216fb..cf43628184c52b012abf7523cfe3446b573a5edd 100644 (file)
--- 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\