diff --git a/README.md b/README.md
index dabb8318..d57d3324 100644
--- a/README.md
+++ b/README.md
@@ -225,14 +225,13 @@ Option completion scripts for Bash, Fish and Zsh can be found in respective subd
| `NNN_IDLE_TIMEOUT=300` | idle seconds before locking terminal [default: disabled] |
| `NNN_COPIER=copier` | clipboard copier script [default: none] |
| `NNN_NO_AUTOSELECT=1` | do not auto-select matching dir in _nav-as-you-type_ mode |
-| `NNN_RESTRICT_NAV_OPEN=1` | open files on ↵, not → or l |
| `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] |
| `NNN_OPS_PROG=1` | show copy, move progress on Linux |
#### Cmdline options
```
-usage: nnn [-b key] [-d] [-e] [-H] [-i] [-n]
+usage: nnn [-b key] [-d] [-e] [-H] [-i] [-n] [-o]
[-p file] [-s] [-S] [-v] [-w] [-h] [PATH]
The missing terminal file manager for X.
@@ -247,6 +246,7 @@ optional args:
-H show hidden files
-i nav-as-you-type mode
-n version sort
+ -o press Enter to open files
-p file selection file (stdout if '-')
-s string filters [default: regex]
-S du mode
diff --git a/misc/auto-completion/bash/nnn-completion.bash b/misc/auto-completion/bash/nnn-completion.bash
index d15ee3b7..35448edd 100644
--- a/misc/auto-completion/bash/nnn-completion.bash
+++ b/misc/auto-completion/bash/nnn-completion.bash
@@ -17,6 +17,7 @@ _nnn () {
-H
-i
-n
+ -o
-p
-s
-S
diff --git a/misc/auto-completion/fish/nnn.fish b/misc/auto-completion/fish/nnn.fish
index a3d836a1..c7a7b8b5 100644
--- a/misc/auto-completion/fish/nnn.fish
+++ b/misc/auto-completion/fish/nnn.fish
@@ -11,6 +11,7 @@ complete -c nnn -s e -d 'use exiftool instead of mediainfo'
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 n -d 'use version compare to sort files'
+complete -c nnn -s o -d 'open files only on Enter'
complete -c nnn -s p -r -d 'copy selection to file'
complete -c nnn -s s -d 'use substring match for filters'
complete -c nnn -s S -d 'start in disk usage analyzer mode'
diff --git a/misc/auto-completion/zsh/_nnn b/misc/auto-completion/zsh/_nnn
index 900b20e4..5438b6bd 100644
--- a/misc/auto-completion/zsh/_nnn
+++ b/misc/auto-completion/zsh/_nnn
@@ -15,6 +15,7 @@ args=(
'(-H)-H[show hidden files]'
'(-i)-i[start in navigate-as-you-type mode]'
'(-n)-n[use version compare to sort files]'
+ '(-o)-o[open files only on Enter]'
'(-p)-p[copy selection to file]:file name'
'(-s)-s[use substring match for filters]'
'(-S)-S[start in disk usage analyzer mode]'
diff --git a/nnn.1 b/nnn.1
index 3d577672..d08d667c 100644
--- a/nnn.1
+++ b/nnn.1
@@ -55,6 +55,9 @@ supports the following options:
.Fl n
use case-insensitive version compare to sort files
.Pp
+.Fl o
+ open files only on Enter key
+.Pp
.Fl "p file"
copy (or \fIpick\fR) selection to file, or stdout if file='-'
.Pp
@@ -196,11 +199,6 @@ files.
export NNN_NO_AUTOSELECT=1
.Ed
.Pp
-\fBNNN_RESTRICT_NAV_OPEN:\fR disable file open on \fBRight\fR or \fBl\fR keys (\fBEnter\fR opens files).
-.Bd -literal
- export NNN_RESTRICT_NAV_OPEN=1
-.Ed
-.Pp
\fBNNN_TRASH:\fR trash (instead of \fIdelete\fR) files to desktop Trash.
.Bd -literal
export NNN_TRASH=1
diff --git a/src/nnn.c b/src/nnn.c
index f60384cc..690f16e9 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -405,10 +405,9 @@ static const char * const messages[] = {
#define NNNLVL 6 /* strings end here */
#define NNN_USE_EDITOR 7 /* flags begin here */
#define NNN_NO_AUTOSELECT 8
-#define NNN_RESTRICT_NAV_OPEN 9
-#define NNN_TRASH 10
+#define NNN_TRASH 9
#ifdef __linux__
-#define NNN_OPS_PROG 11
+#define NNN_OPS_PROG 10
#endif
static const char * const env_cfg[] = {
@@ -421,7 +420,6 @@ static const char * const env_cfg[] = {
"NNNLVL",
"NNN_USE_EDITOR",
"NNN_NO_AUTOSELECT",
- "NNN_RESTRICT_NAV_OPEN",
"NNN_TRASH",
#ifdef __linux__
"NNN_OPS_PROG",
@@ -4576,7 +4574,7 @@ nochange:
static void usage(void)
{
fprintf(stdout,
- "%s: nnn [-b key] [-d] [-e] [-H] [-i] [-n]\n"
+ "%s: nnn [-b key] [-d] [-e] [-H] [-i] [-n] [-o]\n"
" [-p file] [-s] [-S] [-v] [-w] [-h] [PATH]\n\n"
"The missing terminal file manager for X.\n\n"
"positional args:\n"
@@ -4588,6 +4586,7 @@ static void usage(void)
" -H show hidden files\n"
" -i nav-as-you-type mode\n"
" -n version sort\n"
+ " -o press Enter to open files\n"
" -p file selection file (stdout if '-')\n"
" -s string filters [default: regex]\n"
" -S du mode\n"
@@ -4723,7 +4722,7 @@ int main(int argc, char *argv[])
char *arg = NULL;
int opt;
- while ((opt = getopt(argc, argv, "HSib:denp:svwh")) != -1) {
+ while ((opt = getopt(argc, argv, "HSib:denop:svwh")) != -1) {
switch (opt) {
case 'S':
cfg.blkorder = 1;
@@ -4749,6 +4748,9 @@ int main(int argc, char *argv[])
case 'n':
cmpfn = &xstrverscasecmp;
break;
+ case 'o':
+ cfg.nonavopen = 1;
+ break;
case 'p':
cfg.picker = 1;
if (optarg[0] == '-' && optarg[1] == '\0')
@@ -4936,10 +4938,6 @@ int main(int argc, char *argv[])
if (xgetenv_set(env_cfg[NNN_NO_AUTOSELECT]))
cfg.autoselect = 0;
- /* Disable opening files on right arrow and `l` */
- if (xgetenv_set(env_cfg[NNN_RESTRICT_NAV_OPEN]))
- cfg.nonavopen = 1;
-
#ifdef __linux__
if (!xgetenv_set(env_cfg[NNN_OPS_PROG])) {
cp[5] = cp[4];