@@ -21,7 +21,7 @@ Noice is Not Noice, a noicer fork... | |||||
<p align="center"><i>nnn in action! (Thanks Luke Smith for the video!)</i></a></p> | <p align="center"><i>nnn in action! (Thanks Luke Smith for the video!)</i></a></p> | ||||
`nnn` is probably the [fastest and most lightweight](#comparison) file manager you have ever used. It integrates seamlessly with your DE and favourite GUI utilities, has a unique [navigate-as-you-type](#navigate-as-you-type-mode) mode with auto-select, disk usage analyzer mode, bookmarks, contexts, application launcher, familiar navigation shortcuts, subshell spawning and much more. | |||||
`nnn` is probably the [fastest and most lightweight](#comparison) file manager you have ever used. It integrates seamlessly with your DE and favourite GUI utilities, has a unique [navigate-as-you-type](#navigate-as-you-type-mode) mode with auto-select, disk usage analyzer mode, bookmarks, contexts, application launcher, familiar navigation shortcuts, subshell spawning, quick notes and much more. | |||||
Integrate utilities like sxiv (image preview) or fzy (fuzzy subtree search) easily, transfer selected files using lftp or use it as a (neo)vim plugin; `nnn` supports as many scripts as you need! Refer to the [How to](https://github.com/jarun/nnn/wiki/How-to) section on wiki for more details. | Integrate utilities like sxiv (image preview) or fzy (fuzzy subtree search) easily, transfer selected files using lftp or use it as a (neo)vim plugin; `nnn` supports as many scripts as you need! Refer to the [How to](https://github.com/jarun/nnn/wiki/How-to) section on wiki for more details. | ||||
@@ -104,6 +104,7 @@ It runs on Linux, macOS, Raspberry Pi, BSD, Cygwin, Linux subsystem for Windows | |||||
- Run current file as executable | - Run current file as executable | ||||
- Change directory at exit (*easy* shell integration) | - Change directory at exit (*easy* shell integration) | ||||
- Edit file in EDITOR or open in PAGER | - Edit file in EDITOR or open in PAGER | ||||
- Take quick notes | |||||
- Terminal locker integration | - Terminal locker integration | ||||
- Unicode support | - Unicode support | ||||
- Highly optimized, static analysis integrated code | - Highly optimized, static analysis integrated code | ||||
@@ -237,7 +238,7 @@ Press <kbd>?</kbd> in `nnn` to see the list anytime. | |||||
MISC | MISC | ||||
!, ^] Spawn SHELL in dir C Execute entry | !, ^] Spawn SHELL in dir C Execute entry | ||||
R, ^V Run custom script L Lock terminal | R, ^V Run custom script L Lock terminal | ||||
^S Run a command | |||||
^S Run a command N Take note | |||||
``` | ``` | ||||
Help & settings, file details, media info and archive listing are shown in the PAGER. Please use the PAGER-specific keys in these screens. | Help & settings, file details, media info and archive listing are shown in the PAGER. Please use the PAGER-specific keys in these screens. | ||||
@@ -275,7 +276,7 @@ When a context is quit, the next active context is selected. If the last active | |||||
Each context can have its own color for directories specified: | Each context can have its own color for directories specified: | ||||
export NNN_CONTEXT_COLORS="1234" | |||||
export NNN_CONTEXT_COLORS='1234' | |||||
colors: 0-black, 1-red, 2-green, 3-yellow, 4-blue (default), 5-magenta, 6-cyan, 7-white | colors: 0-black, 1-red, 2-green, 3-yellow, 4-blue (default), 5-magenta, 6-cyan, 7-white | ||||
#### Selection | #### Selection | ||||
@@ -148,6 +148,8 @@ Execute entry | |||||
Run or choose a custom script | Run or choose a custom script | ||||
.It Ic L | .It Ic L | ||||
Lock terminal | Lock terminal | ||||
.It Ic N | |||||
Take note | |||||
.It Ic ^S | .It Ic ^S | ||||
Run a command | Run a command | ||||
.El | .El | ||||
@@ -278,7 +280,7 @@ files. | |||||
.Pp | .Pp | ||||
\fBNNN_CONTEXT_COLORS:\fR string of color codes for each context, e.g.: | \fBNNN_CONTEXT_COLORS:\fR string of color codes for each context, e.g.: | ||||
.Bd -literal | .Bd -literal | ||||
export NNN_CONTEXT_COLORS="1234" | |||||
export NNN_CONTEXT_COLORS='1234' | |||||
codes: 0-black, 1-red, 2-green, 3-yellow, 4-blue (default), 5-magenta, 6-cyan, 7-white | codes: 0-black, 1-red, 2-green, 3-yellow, 4-blue (default), 5-magenta, 6-cyan, 7-white | ||||
.Ed | .Ed | ||||
@@ -292,13 +294,18 @@ files. | |||||
The path is shown in the help and configuration screen. | The path is shown in the help and configuration screen. | ||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_SCRIPT:\fR absolute path to a directory to select a script from or a single script to invoke with currently selected file name as argument 1. | |||||
\fBNNN_SCRIPT:\fR \fIabsolute\fR path to a directory to select a script from or a single script to invoke with currently selected file name as argument 1. | |||||
.Bd -literal | .Bd -literal | ||||
export NNN_SCRIPT=/home/user/scripts | export NNN_SCRIPT=/home/user/scripts | ||||
OR | OR | ||||
export NNN_SCRIPT=/usr/local/bin/nscript.sh | export NNN_SCRIPT=/usr/local/bin/nscript.sh | ||||
.Ed | .Ed | ||||
.Pp | .Pp | ||||
\fBNNN_NOTE:\fR \fIabsolute\fR path to a note file. | |||||
.Bd -literal | |||||
export NNN_NOTE='/home/user/.mynotes' | |||||
.Ed | |||||
.Pp | |||||
\fBNNN_SHOW_HIDDEN:\fR show hidden files. | \fBNNN_SHOW_HIDDEN:\fR show hidden files. | ||||
.Bd -literal | .Bd -literal | ||||
export NNN_SHOW_HIDDEN=1 | export NNN_SHOW_HIDDEN=1 | ||||
@@ -2120,7 +2120,7 @@ static bool show_help(char *path) | |||||
"1MISC\n" | "1MISC\n" | ||||
"a!, ^] Spawn SHELL in dir C Execute entry\n" | "a!, ^] Spawn SHELL in dir C Execute entry\n" | ||||
"aR, ^V Run custom script L Lock terminal\n" | "aR, ^V Run custom script L Lock terminal\n" | ||||
"d^S Run a command\n"}; | |||||
"d^S Run a command N Take note\n"}; | |||||
if (fd == -1) | if (fd == -1) | ||||
return FALSE; | return FALSE; | ||||
@@ -3068,6 +3068,7 @@ nochange: | |||||
break; // fallthrough | break; // fallthrough | ||||
case SEL_REDRAW: // fallthrough | case SEL_REDRAW: // fallthrough | ||||
case SEL_HELP: // fallthrough | case SEL_HELP: // fallthrough | ||||
case SEL_NOTE: // fallthrough | |||||
case SEL_LOCK: | case SEL_LOCK: | ||||
{ | { | ||||
if (ndents) | if (ndents) | ||||
@@ -3100,11 +3101,23 @@ nochange: | |||||
case SEL_RUNEDIT: | case SEL_RUNEDIT: | ||||
if (!quote_run_sh_cmd(editor, dents[cur].name, path)) | if (!quote_run_sh_cmd(editor, dents[cur].name, path)) | ||||
goto nochange; | goto nochange; | ||||
r = TRUE; | |||||
break; | break; | ||||
case SEL_RUNPAGE: | case SEL_RUNPAGE: | ||||
r = TRUE; | r = TRUE; | ||||
spawn(pager, pager_arg, dents[cur].name, path, F_NORMAL); | spawn(pager, pager_arg, dents[cur].name, path, F_NORMAL); | ||||
break; | break; | ||||
case SEL_NOTE: | |||||
tmp = getenv("NNN_NOTE"); | |||||
if (!tmp) { | |||||
printmsg("set NNN_NOTE"); | |||||
goto nochange; | |||||
} | |||||
if (!quote_run_sh_cmd(editor, tmp, NULL)) | |||||
goto nochange; | |||||
r = TRUE; | |||||
break; | |||||
default: /* SEL_LOCK */ | default: /* SEL_LOCK */ | ||||
r = TRUE; | r = TRUE; | ||||
spawn(utils[LOCKER], NULL, NULL, NULL, F_NORMAL | F_SIGINT); | spawn(utils[LOCKER], NULL, NULL, NULL, F_NORMAL | F_SIGINT); | ||||
@@ -89,6 +89,7 @@ enum action { | |||||
SEL_RUNCMD, | SEL_RUNCMD, | ||||
SEL_RUNEDIT, | SEL_RUNEDIT, | ||||
SEL_RUNPAGE, | SEL_RUNPAGE, | ||||
SEL_NOTE, | |||||
SEL_LOCK, | SEL_LOCK, | ||||
SEL_QUITCTX, | SEL_QUITCTX, | ||||
SEL_QUITCD, | SEL_QUITCD, | ||||
@@ -225,6 +226,8 @@ static struct key bindings[] = { | |||||
/* Open in EDITOR or PAGER */ | /* Open in EDITOR or PAGER */ | ||||
{ 'e', SEL_RUNEDIT }, | { 'e', SEL_RUNEDIT }, | ||||
{ 'p', SEL_RUNPAGE }, | { 'p', SEL_RUNPAGE }, | ||||
/* Open notes file */ | |||||
{ 'N', SEL_NOTE }, | |||||
/* Lock screen */ | /* Lock screen */ | ||||
{ 'L', SEL_LOCK }, | { 'L', SEL_LOCK }, | ||||
/* Quit a context */ | /* Quit a context */ | ||||