From 33365dea52c2491837a9ece847743bf081c44bf0 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Fri, 12 Apr 2019 20:21:48 +0530 Subject: [PATCH] Shortcut to visit root --- README.md | 3 ++- src/nnn.c | 7 ++++++- src/nnn.h | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cad81c64..9e92db28 100644 --- a/README.md +++ b/README.md @@ -237,7 +237,7 @@ Press ? in `nnn` to see the list anytime. NAVIGATION ↑ k Up PgUp ^U Scroll up ↓ j Down PgDn ^D Scroll down - ← h Parent dir ~ Go HOME + ← h Parent dir ~ ` HOME, / ↵ → l Open file/dir @ Start dir Home g ^A First entry - Last visited dir End G ^E Last entry . Toggle show hidden @@ -280,6 +280,7 @@ The Leader key provides a powerful multi-functional navigation mechanism. It is | <, , | Go to previous active context | | key | Go to bookmarked location | | ~ | Go to HOME directory | +| ` | Go to `/` | | - | Go to last visited directory | | @ | Go to start directory | | q | Quit context | diff --git a/src/nnn.c b/src/nnn.c index 67ebdf1a..6289a080 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -2360,7 +2360,7 @@ static bool show_help(const char *path) "1NAVIGATION\n" "a↑ k Up PgUp ^U Scroll up\n" "a↓ j Down PgDn ^D Scroll down\n" - "a← h Parent dir ~ Go HOME\n" + "a← h Parent dir ~ ` HOME, /\n" "8↵ → l Open file/dir @ Start dir\n" "4Home g ^A First entry - Last visited dir\n" "5End G ^E Last entry . Toggle show hidden\n" @@ -3077,6 +3077,7 @@ nochange: case SEL_CDHOME: // fallthrough case SEL_CDBEGIN: // fallthrough case SEL_CDLAST: // fallthrough + case SEL_CDROOT: // fallthrough case SEL_VISIT: switch (sel) { case SEL_CDHOME: @@ -3088,6 +3089,9 @@ nochange: case SEL_CDLAST: dir = lastdir; break; + case SEL_CDROOT: + dir = "/"; + break; default: /* case SEL_VISIT */ dir = mark; break; @@ -3131,6 +3135,7 @@ nochange: switch (fd) { case 'q': // fallthrough case '~': // fallthrough + case '`': // fallthrough case '-': // fallthrough case '@': presel = fd; diff --git a/src/nnn.h b/src/nnn.h index 2104ede7..839ec0c1 100644 --- a/src/nnn.h +++ b/src/nnn.h @@ -48,6 +48,7 @@ enum action { SEL_CDHOME, SEL_CDBEGIN, SEL_CDLAST, + SEL_CDROOT, SEL_VISIT, SEL_LEADER, SEL_CYCLE, @@ -141,6 +142,8 @@ static struct key bindings[] = { { '@', SEL_CDBEGIN }, /* Last visited dir */ { '-', SEL_CDLAST }, + /* Go to / */ + { '`', SEL_CDROOT }, /* Visit marked directory */ { CONTROL('B'), SEL_VISIT }, /* Leader key */