From c42df81ae5f1206ee586d4e2f236c77f1f0dfbbe Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sun, 4 Jun 2017 11:45:17 +0530 Subject: [PATCH] Insert key for navigate-as-you-type mode --- README.md | 8 ++++---- config.def.h | 2 +- nnn.1 | 18 +++++++++--------- nnn.c | 10 +++++----- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index f406c67c..b3bec46e 100644 --- a/README.md +++ b/README.md @@ -62,10 +62,10 @@ Have fun with it! PRs are welcome. Check out [#1](https://github.com/jarun/nnn/i - Jump HOME or to the last visited directory (as usual!) - Jump to initial dir, chdir prompt, cd ..... (with . as PWD) - Roll-over at edges, page through entries - - Navigate as you type with filters + - *Navigate-as-you-type* with filters - Disk usage analyzer mode - Search - - Filter directory contents with search-as-you-type + - Filter directory contents with *search-as-you-type* - Desktop search (default gnome-search-tool, customizable) integration - Mimes - Desktop opener integration @@ -134,7 +134,7 @@ nnn needs libreadline, libncursesw (on Linux or ncurses on OS X) and standard li optional arguments: -d start in detail view mode - -f start in navigate-as-you-type mode + -i start in navigate-as-you-type mode -p path to custom nlay -S start in disk usage analyzer mode -v show program version and exit @@ -155,6 +155,7 @@ nnn needs libreadline, libncursesw (on Linux or ncurses on OS X) and standard li End, G, $, ^E | Jump to last entry Right, Enter, l, ^M | Open file or enter dir Left, Bksp, h, ^H | Go to parent dir + Insert | Toggle navigate-as-you-type mode ~ | Jump to HOME dir & | Jump to initial dir - | Jump to last visited dir @@ -164,7 +165,6 @@ Right, Enter, l, ^M | Open file or enter dir c | Show change dir prompt d | Toggle detail view D | Toggle current file details screen - f | Toggle navigate-as-you-type mode m | Show concise mediainfo M | Show full mediainfo s | Toggle sort by file size diff --git a/config.def.h b/config.def.h index 943b8f3d..52f31fda 100644 --- a/config.def.h +++ b/config.def.h @@ -37,7 +37,7 @@ static struct key bindings[] = { /* Filter */ { '/', SEL_FLTR, "", "" }, /* Toggle filter mode */ - { 'f', SEL_MFLTR, "", "" }, + { KEY_IC, SEL_MFLTR, "", "" }, /* Desktop search */ { CONTROL('_'), SEL_SEARCH, "", "" }, /* Next */ diff --git a/nnn.1 b/nnn.1 index d80286d4..d9ddfa18 100644 --- a/nnn.1 +++ b/nnn.1 @@ -7,8 +7,8 @@ .Sh SYNOPSIS .Nm nnn .Op Ar -d -.Op Ar -f -.Op Ar -p +.Op Ar -i +.Op Ar -p custom_nlay .Op Ar -S .Op Ar -v .Op Ar -h @@ -24,7 +24,7 @@ is not specified. .Pp .Nm supports both vi-like and emacs-like key bindings in the default -configuration. The default key bindings are listed below. +configuration. The default key bindings are listed below. .Pp .Bl -tag -width "l, [Right], [Return] or C-mXXXX" -offset indent -compact .It Ic [Up], k, ^P @@ -43,6 +43,8 @@ Move to the last entry Open file or enter directory .It Ic [Left], [Backspace], h, ^H Back up one directory level +.It Ic [Insert] +Toggle navigate-as-you-type mode .It Ic ~ Change to the HOME directory .It Ic & @@ -61,8 +63,6 @@ Change into the given directory Toggle detail view .It Ic D Toggle current file details screen -.It Ic f -Toggle navigate-as-you-type mode .It Ic m Show concise mediainfo .It Ic M @@ -104,10 +104,10 @@ supports the following options: .Fl d start in detail view mode .Pp -.Fl f +.Fl i start in navigate-as-you-type mode .Pp -.Fl p +.Fl "p custom_nlay" path to custom nlay .Pp .Fl S @@ -146,11 +146,11 @@ few easy steps. Please visit the project page (linked below) for the instructions. .Sh FILTERS Filters support regexes to display only the matched -entries in the current directory view. This effectively allows +entries in the current directory view. This effectively allows searching through the directory tree for a particular entry. Matching entries are shown instantly (search-as-you-type). .Pp -Filters do not stack on top of each other. They are applied anew +Filters do not stack on top of each other. They are applied anew every time. There are 4 ways to reset a filter: .Pp The \fIInsert\fR key, an empty filter expression, a search with no results or an diff --git a/nnn.c b/nnn.c index 1e2e8317..bc2aee7f 100644 --- a/nnn.c +++ b/nnn.c @@ -1248,6 +1248,7 @@ show_help(void) End, G, $, ^E | Jump to last entry\n\ Right, Enter, l, ^M | Open file or enter dir\n\ Left, Bksp, h, ^H | Go to parent dir\n\ + Insert | Toggle navigate-as-you-type mode\n\ ~ | Jump to HOME dir\n\ & | Jump to initial dir\n\ - | Jump to last visited dir\n\ @@ -1257,7 +1258,6 @@ show_help(void) c | Show change dir prompt\n\ d | Toggle detail view\n\ D | Toggle current file details screen\n\ - f | Toggle navigate-as-you-type mode\n\ m | Show concise mediainfo\n\ M | Show full mediainfo\n\ s | Toggle sort by file size\n\ @@ -2092,13 +2092,13 @@ nochange: static void usage(void) { - fprintf(stdout, "usage: nnn [-d] [-p custom_nlay] [-S] [-v] [-h] [PATH]\n\n\ + fprintf(stdout, "usage: nnn [-d] [-i] [-p custom_nlay] [-S] [-v] [-h] [PATH]\n\n\ The missing terminal file browser for X.\n\n\ positional arguments:\n\ PATH directory to open [default: current dir]\n\n\ optional arguments:\n\ -d start in detail view mode\n\ - -f start in navigate-as-you-type mode\n\ + -i start in navigate-as-you-type mode\n\ -p path to custom nlay\n\ -S start in disk usage analyzer mode\n\ -v show program version and exit\n\ @@ -2123,7 +2123,7 @@ main(int argc, char *argv[]) exit(1); } - while ((opt = getopt(argc, argv, "dSfp:vh")) != -1) { + while ((opt = getopt(argc, argv, "dSip:vh")) != -1) { switch (opt) { case 'S': bsizeorder = 1; // fallthrough @@ -2132,7 +2132,7 @@ main(int argc, char *argv[]) showdetail = 1; printptr = &printent_long; break; - case 'f': + case 'i': filtermode = 1; break; case 'p':