aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-04-04 09:16:29 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2017-04-04 09:46:52 +0530
commit07c59cfd6234cd2b5d5b0c344995f95cb2903261 (patch)
tree440d51f83cb97675b81337e5df6edf5df9f49deb
parentaebe6c1898d6b9c2a577b793b31aca3fdd3052eb (diff)
downloadnnn-07c59cfd6234cd2b5d5b0c344995f95cb2903261.tar.gz
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? ;)
-rw-r--r--README.md9
-rw-r--r--config.def.h2
-rw-r--r--nnn.14
-rw-r--r--nnn.c4
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\