aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2018-11-27 03:19:37 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2018-11-27 04:01:51 +0530
commit06ff738b4c569819fb40ea41df7b0e9c5853fa4b (patch)
treeb1f76b004624eb08cf2b7ad9ce6d8be7aa0c8cf2
parent7db777756f994a8d121f7fa2f8fce6b9a8da16e3 (diff)
downloadnnn-06ff738b4c569819fb40ea41df7b0e9c5853fa4b.tar.gz
Use ^B to go to next context
-rw-r--r--README.md1
-rw-r--r--nnn.12
-rw-r--r--src/nnn.c14
-rw-r--r--src/nnn.h3
4 files changed, 16 insertions, 4 deletions
diff --git a/README.md b/README.md
index bd5a079..c4142ca 100644
--- a/README.md
+++ b/README.md
@@ -222,6 +222,7 @@ Press <kbd>?</kbd> in `nnn` to see the list anytime.
→, ↵, l, ^M Open file/enter dir . Toggle show hidden
/ Filter Ins, ^I Toggle nav-as-you-type
b Pin current dir ^W Go to pinned dir
+ ^B Next active context
`, ^/ Leader key LeaderN Switch to context N
Esc Exit prompt ^L Redraw, clear prompt
^G Quit and cd q Quit context
diff --git a/nnn.1 b/nnn.1
index 736e1f4..91fc2b9 100644
--- a/nnn.1
+++ b/nnn.1
@@ -64,6 +64,8 @@ Toggle navigate-as-you-type mode
Pin current directory
.It Ic ^W
Visit pinned directory
+.It Ic ^B
+Next active context
.It Ic `, ^/
Leader key
.It Ic LeaderN
diff --git a/src/nnn.c b/src/nnn.c
index 522ba64..f7cdbf0 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -1015,9 +1015,10 @@ static int nextsel(char **run, char **env, int *presel)
c = *presel;
- if (c == 0)
+ if (c == 0) {
c = getch();
- else {
+ DPRINTF_D(c);
+ } else {
/* Unwatch dir if we are still in a filtered view */
#ifdef LINUX_INOTIFY
if (*presel == FILTER && inotify_wd >= 0) {
@@ -1978,7 +1979,8 @@ static int show_help(char *path)
"4→, ↵, l, ^M Open file/enter dir . Toggle show hidden\n"
"e/ Filter Ins, ^I Toggle nav-as-you-type\n"
"eb Pin current dir ^W Go to pinned dir\n"
- "a`, ^/ Leader key LeaderN Switch to context N\n"
+ "d^B Next active context\n"
+ "a`, ^/ Leader key LeaderN Go to context N\n"
"cEsc Exit prompt ^L Redraw, clear prompt\n"
"d^G Quit and cd q Quit context\n"
"aQ, ^Q Quit ? Help, config\n"
@@ -2729,7 +2731,11 @@ nochange:
setdirwatch();
goto begin;
case SEL_LEADER:
- fd = get_input(NULL);
+ fd = get_input(NULL); // fallthrough
+ case SEL_CYCLE:
+ if (sel == SEL_CYCLE)
+ fd = '>';
+
switch (fd) {
case 'q': // fallthrough
case '~': // fallthrough
diff --git a/src/nnn.h b/src/nnn.h
index 4b13d91..0f82937 100644
--- a/src/nnn.h
+++ b/src/nnn.h
@@ -49,6 +49,7 @@ enum action {
SEL_CDBEGIN,
SEL_CDLAST,
SEL_LEADER,
+ SEL_CYCLE,
SEL_PIN,
SEL_VISIT,
SEL_FLTR,
@@ -153,6 +154,8 @@ static struct key bindings[] = {
/* Leader key */
{ CONTROL('_'), SEL_LEADER, "", "" },
{ '`', SEL_LEADER, "", "" },
+ /* Cycle contexts in forward direction */
+ { CONTROL('B'), SEL_CYCLE, "", "" },
/* Mark a path to visit later */
{ 'b', SEL_PIN, "", "" },
/* Visit marked directory */