Use b and ^B as bookmark key

This commit is contained in:
Arun Prakash Jana 2019-12-25 14:37:51 +05:30
parent 89a158b9f4
commit 278fcfdfc9
No known key found for this signature in database
GPG Key ID: A75979F35C080412
6 changed files with 37 additions and 39 deletions

View File

@ -19,7 +19,6 @@ _nnn ()
-E -E
-g -g
-H -H
-i
-K -K
-n -n
-o -o
@ -31,6 +30,7 @@ _nnn ()
-S -S
-t -t
-v -v
-V
-x -x
-h -h
) )

View File

@ -18,9 +18,8 @@ complete -c nnn -s d -d 'start in detail mode'
complete -c nnn -s E -d 'use EDITOR for undetached edits' complete -c nnn -s E -d 'use EDITOR for undetached edits'
complete -c nnn -s g -d 'regex filters' complete -c nnn -s g -d 'regex filters'
complete -c nnn -s H -d 'show hidden files' complete -c nnn -s H -d 'show hidden files'
complete -c nnn -s i -d 'start in navigate-as-you-type mode'
complete -c nnn -s K -d 'detect key collision' complete -c nnn -s K -d 'detect key collision'
complete -c nnn -s n -d 'use version compare to sort files' complete -c nnn -s n -d 'start in navigate-as-you-type mode'
complete -c nnn -s o -d 'open files only on Enter' complete -c nnn -s o -d 'open files only on Enter'
complete -c nnn -s p -r -d 'copy selection to file' -a '-\tstdout' complete -c nnn -s p -r -d 'copy selection to file' -a '-\tstdout'
complete -c nnn -s Q -d 'disable quit confirmation' complete -c nnn -s Q -d 'disable quit confirmation'
@ -30,5 +29,6 @@ complete -c nnn -s s -r -d 'load session by name' -x -a '@\t"last session" (ls $
complete -c nnn -s S -d 'start in disk usage analyzer mode' complete -c nnn -s S -d 'start in disk usage analyzer mode'
complete -c nnn -s t -d 'disable dir auto-select' complete -c nnn -s t -d 'disable dir auto-select'
complete -c nnn -s v -d 'show program version and exit' complete -c nnn -s v -d 'show program version and exit'
complete -c nnn -s V -d 'use version compare to sort files'
complete -c nnn -s x -d 'notis, sel to system clipboard' complete -c nnn -s x -d 'notis, sel to system clipboard'
complete -c nnn -s h -d 'show program help' complete -c nnn -s h -d 'show program help'

View File

@ -16,9 +16,8 @@ args=(
'(-E)-E[use EDITOR for undetached edits]' '(-E)-E[use EDITOR for undetached edits]'
'(-g)-g[regex filters]' '(-g)-g[regex filters]'
'(-H)-H[show hidden files]' '(-H)-H[show hidden files]'
'(-i)-i[start in navigate-as-you-type mode]'
'(-K)-K[detect key collision]' '(-K)-K[detect key collision]'
'(-n)-n[use version compare to sort files]' '(-n)-n[start in navigate-as-you-type mode]'
'(-o)-o[open files only on Enter]' '(-o)-o[open files only on Enter]'
'(-p)-p[copy selection to file]:file name' '(-p)-p[copy selection to file]:file name'
'(-Q)-Q[disable quit confirmation]' '(-Q)-Q[disable quit confirmation]'
@ -28,6 +27,7 @@ args=(
'(-S)-S[start in disk usage analyzer mode]' '(-S)-S[start in disk usage analyzer mode]'
'(-t)-t[disable dir auto-select]' '(-t)-t[disable dir auto-select]'
'(-v)-v[show program version and exit]' '(-v)-v[show program version and exit]'
'(-V)-V[use version compare to sort files]'
'(-x)-x[notis, sel to system clipboard]' '(-x)-x[notis, sel to system clipboard]'
'(-h)-h[show program help]' '(-h)-h[show program help]'
'*:filename:_files' '*:filename:_files'

10
nnn.1
View File

@ -13,7 +13,6 @@
.Op Ar -E .Op Ar -E
.Op Ar -g .Op Ar -g
.Op Ar -H .Op Ar -H
.Op Ar -i
.Op Ar -K .Op Ar -K
.Op Ar -n .Op Ar -n
.Op Ar -p file .Op Ar -p file
@ -23,6 +22,7 @@
.Op Ar -s name .Op Ar -s name
.Op Ar -S .Op Ar -S
.Op Ar -v .Op Ar -v
.Op Ar -V
.Op Ar -x .Op Ar -x
.Op Ar -h .Op Ar -h
.Op Ar PATH .Op Ar PATH
@ -65,14 +65,11 @@ supports the following options:
.Fl H .Fl H
show hidden files show hidden files
.Pp .Pp
.Fl i
start in navigate-as-you-type mode
.Pp
.Fl K .Fl K
test for keybind collision test for keybind collision
.Pp .Pp
.Fl n .Fl n
use case-insensitive version compare to sort files start in navigate-as-you-type mode
.Pp .Pp
.Fl o .Fl o
open files only on Enter key open files only on Enter key
@ -101,6 +98,9 @@ supports the following options:
.Fl v .Fl v
show version and exit show version and exit
.Pp .Pp
.Fl V
use case-insensitive version compare to sort files
.Pp
.Fl x .Fl x
show notis on selection cp, mv, rm completion; copy path to system clipboard on select show notis on selection cp, mv, rm completion; copy path to system clipboard on select
.Pp .Pp

View File

@ -3473,14 +3473,13 @@ static void show_help(const char *path)
"7Left h Parent%-12c~ ` @ - HOME, /, start, last\n" "7Left h Parent%-12c~ ` @ - HOME, /, start, last\n"
"9g ^A Top%-11cRet Right l Open\n" "9g ^A Top%-11cRet Right l Open\n"
"9G ^E End%-21c' First file\n" "9G ^E End%-21c' First file\n"
"cb Pin CWD%-16c^B Go to pinned dir\n" "c, Pin CWD%-17c. Toggle hidden\n"
"9, ^/ Go to bookmark%-10cd Detail view toggle\n" "9b ^B Go to bookmark%-10cd Detail view toggle\n"
"6(Sh)Tab Cycle context%-11cN Context N\n" "6(Sh)Tab Cycle context%-11cN Context N\n"
"c/ Filter%-13cIns ^N Nav-as-you-type toggle\n" "c/ Filter%-14c^/ ^N Nav-as-you-type toggle\n"
"aEsc Exit prompt%-9c^L F5 Redraw/clear prompt\n" "aEsc Exit prompt%-9c^L F5 Redraw/clear prompt\n"
"c. Toggle hidden%-11c? Help, conf\n" "b^G QuitCD%-18c? Help, conf\n"
"9Q ^Q Quit%-20cq Quit context\n" "9Q ^Q Quit%-20cq Quit context\n"
"b^G QuitCD%-1c\n"
"1FILES\n" "1FILES\n"
"b^O Open with...%-12cn Create new/link\n" "b^O Open with...%-12cn Create new/link\n"
"cD File details%-8c^R F2 Rename/duplicate\n" "cD File details%-8c^R F2 Rename/duplicate\n"
@ -4543,8 +4542,7 @@ nochange:
case SEL_CDHOME: // fallthrough case SEL_CDHOME: // fallthrough
case SEL_CDBEGIN: // fallthrough case SEL_CDBEGIN: // fallthrough
case SEL_CDLAST: // fallthrough case SEL_CDLAST: // fallthrough
case SEL_CDROOT: // fallthrough case SEL_CDROOT:
case SEL_VISIT:
switch (sel) { switch (sel) {
case SEL_CDHOME: case SEL_CDHOME:
dir = home; dir = home;
@ -4555,12 +4553,9 @@ nochange:
case SEL_CDLAST: case SEL_CDLAST:
dir = lastdir; dir = lastdir;
break; break;
case SEL_CDROOT: default: /* SEL_CDROOT */
dir = "/"; dir = "/";
break; break;
default: /* case SEL_VISIT */
dir = mark;
break;
} }
if (dir[0] == '\0') { if (dir[0] == '\0') {
@ -4639,13 +4634,19 @@ nochange:
xstrlcpy(g_buf, messages[MSG_BOOKMARK_KEYS], CMD_LEN_MAX); xstrlcpy(g_buf, messages[MSG_BOOKMARK_KEYS], CMD_LEN_MAX);
printkeys(bookmark, g_buf + strlen(g_buf), BM_MAX); printkeys(bookmark, g_buf + strlen(g_buf), BM_MAX);
printprompt(g_buf); printprompt(g_buf);
fd = get_input(NULL); r = get_input(NULL);
if (!get_kv_val(bookmark, newpath, fd, BM_MAX, TRUE)) { if (!get_kv_val(bookmark, newpath, r, BM_MAX, TRUE)) {
printwait(messages[MSG_INVALID_KEY], &presel);; if (r == ',' && mark[0])
goto nochange; xstrlcpy(newpath, mark, PATH_MAX);
else {
printwait(messages[MSG_INVALID_KEY], &presel);;
goto nochange;
}
} }
if (!xdiraccess(newpath)) { if (!xdiraccess(newpath)) {
printwait(messages[MSG_ACCESS], &presel); printwait(messages[MSG_ACCESS], &presel);
goto nochange; goto nochange;
@ -5466,9 +5467,8 @@ static void usage(void)
" -E use EDITOR for undetached edits\n" " -E use EDITOR for undetached edits\n"
" -g regex filters [default: string]\n" " -g regex filters [default: string]\n"
" -H show hidden files\n" " -H show hidden files\n"
" -i nav-as-you-type mode\n"
" -K detect key collision\n" " -K detect key collision\n"
" -n version sort\n" " -n nav-as-you-type mode\n"
" -o open files on Enter\n" " -o open files on Enter\n"
" -p file selection file [stdout if '-']\n" " -p file selection file [stdout if '-']\n"
" -Q no quit confirmation\n" " -Q no quit confirmation\n"
@ -5478,6 +5478,7 @@ static void usage(void)
" -S du mode\n" " -S du mode\n"
" -t no dir auto-select\n" " -t no dir auto-select\n"
" -v show version\n" " -v show version\n"
" -V version sort\n"
" -x notis, sel to system clipboard\n" " -x notis, sel to system clipboard\n"
" -h show help\n\n" " -h show help\n\n"
"v%s\n%s\n", __func__, VERSION, GENERAL_INFO); "v%s\n%s\n", __func__, VERSION, GENERAL_INFO);
@ -5621,7 +5622,7 @@ int main(int argc, char *argv[])
bool progress = FALSE; bool progress = FALSE;
#endif #endif
while ((opt = getopt(argc, argv, "HSKiab:cdEgnop:QrRs:tvxh")) != -1) { while ((opt = getopt(argc, argv, "HSKab:cdEgnop:QrRs:tvVxh")) != -1) {
switch (opt) { switch (opt) {
case 'S': case 'S':
cfg.blkorder = 1; cfg.blkorder = 1;
@ -5631,9 +5632,6 @@ int main(int argc, char *argv[])
cfg.showdetail = 1; cfg.showdetail = 1;
printptr = &printent_long; printptr = &printent_long;
break; break;
case 'i':
cfg.filtermode = 1;
break;
case 'a': case 'a':
cfg.mtime = 0; cfg.mtime = 0;
break; break;
@ -5654,7 +5652,7 @@ int main(int argc, char *argv[])
cfg.showhidden = 1; cfg.showhidden = 1;
break; break;
case 'n': case 'n':
cmpfn = &xstrverscasecmp; cfg.filtermode = 1;
break; break;
case 'o': case 'o':
cfg.nonavopen = 1; cfg.nonavopen = 1;
@ -5699,6 +5697,9 @@ int main(int argc, char *argv[])
case 'v': case 'v':
fprintf(stdout, "%s\n", VERSION); fprintf(stdout, "%s\n", VERSION);
return _SUCCESS; return _SUCCESS;
case 'V':
cmpfn = &xstrverscasecmp;
break;
case 'x': case 'x':
cfg.x11 = 1; cfg.x11 = 1;
break; break;

View File

@ -52,7 +52,6 @@ enum action {
SEL_CDBEGIN, SEL_CDBEGIN,
SEL_CDLAST, SEL_CDLAST,
SEL_CDROOT, SEL_CDROOT,
SEL_VISIT,
SEL_CYCLE, SEL_CYCLE,
SEL_CYCLER, SEL_CYCLER,
SEL_CTX1, SEL_CTX1,
@ -155,8 +154,6 @@ static struct key bindings[] = {
{ '-', SEL_CDLAST }, { '-', SEL_CDLAST },
/* Go to / */ /* Go to / */
{ '`', SEL_CDROOT }, { '`', SEL_CDROOT },
/* Visit marked directory */
{ CONTROL('B'), SEL_VISIT },
/* Cycle contexts in forward direction */ /* Cycle contexts in forward direction */
{ '\t', SEL_CYCLE }, { '\t', SEL_CYCLE },
/* Cycle contexts in reverse direction */ /* Cycle contexts in reverse direction */
@ -167,15 +164,15 @@ static struct key bindings[] = {
{ '3', SEL_CTX3 }, { '3', SEL_CTX3 },
{ '4', SEL_CTX4 }, { '4', SEL_CTX4 },
/* Bookmark key */ /* Bookmark key */
{ CONTROL('_'), SEL_BOOKMARK }, { 'b', SEL_BOOKMARK },
{ ',', SEL_BOOKMARK }, { CONTROL('B'), SEL_BOOKMARK },
/* Mark a path to visit later */ /* Mark a path to visit later */
{ 'b', SEL_PIN }, { ',', SEL_PIN },
/* Filter */ /* Filter */
{ '/', SEL_FLTR }, { '/', SEL_FLTR },
/* Toggle filter mode */ /* Toggle filter mode */
{ KEY_IC, SEL_MFLTR }, { KEY_IC, SEL_MFLTR },
{ CONTROL('N'), SEL_MFLTR }, { CONTROL('_'), SEL_MFLTR },
/* Toggle hide .dot files */ /* Toggle hide .dot files */
{ '.', SEL_TOGGLEDOT }, { '.', SEL_TOGGLEDOT },
/* Detailed listing */ /* Detailed listing */