Bind ^L to clear prompt

This commit is contained in:
Arun Prakash Jana 2017-06-04 17:52:51 +05:30
parent 9457558d1b
commit ac717a7531
No known key found for this signature in database
GPG key ID: A75979F35C080412
3 changed files with 11 additions and 13 deletions

View file

@ -34,7 +34,8 @@ Noice is Not Noice, a noicer fork...
- [use cd .....](#use-cd-) - [use cd .....](#use-cd-)
- [cd on quit](#cd-on-quit) - [cd on quit](#cd-on-quit)
- [customize nlay](#customize-nlay) - [customize nlay](#customize-nlay)
- [copy current file path to clipboard](#copy-current-file-path-to-clipboard) - [copy file path to clipboard](#copy-file-path-to-clipboard)
- [file copy. move. delete](#file-copy-move-delete)
- [boost chdir prompt](#boost-chdir-prompt) - [boost chdir prompt](#boost-chdir-prompt)
- [change file associations](#change-file-associations) - [change file associations](#change-file-associations)
- [Why fork?](#why-fork) - [Why fork?](#why-fork)
@ -187,9 +188,7 @@ Right, Enter, l, ^M | Open file or enter dir
Filters support regexes to display only the matched 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). Filters support regexes to display only the matched 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).
Filters do not stack on top of each other. They are applied anew every time. There are 4 ways to reset a filter: Filters do not stack on top of each other. They are applied anew every time. There are 4 ways to reset a filter: `^L`, an empty filter expression, a search with no results or an extra backspace at the filter prompt (like vi).
The `Insert` key, an empty filter expression, a search with no results or an extra backspace at the filter prompt (like vi).
If you want to list all matches starting with the filter expression (a common use case), start the expression with a `^` (caret) symbol. If you want to list all matches starting with the filter expression (a common use case), start the expression with a `^` (caret) symbol.
@ -278,7 +277,7 @@ As you might notice, nnn uses the environment variable `NNN_TMPFILE` to write th
nlay is a tiny standalone media type *player* by itself. To know how to customize or extend its functionality, please visit [nlay on wiki](https://github.com/jarun/nnn/wiki/all-about-nlay). nlay is a tiny standalone media type *player* by itself. To know how to customize or extend its functionality, please visit [nlay on wiki](https://github.com/jarun/nnn/wiki/all-about-nlay).
#### copy current file path to clipboard #### copy file path to clipboard
nnn can pipe the absolute path of the current file to a copier script. For example, you can use `xsel` on Linux or `pbcopy` on OS X. nnn can pipe the absolute path of the current file to a copier script. For example, you can use `xsel` on Linux or `pbcopy` on OS X.

7
nnn.1
View file

@ -149,10 +149,9 @@ searching through the directory tree for a particular entry. Matching entries
are shown instantly (search-as-you-type). are shown instantly (search-as-you-type).
.Pp .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: every time. There are 4 ways to reset a filter: \fI^L\fR, an empty filter
.Pp expression, a search with no results or an extra backspace at the filter prompt
The \fIInsert\fR key, an empty filter expression, a search with no results or an (like vi).
extra backspace at the filter prompt (like vi).
.Pp .Pp
If you want to list all matches starting with the filter expression (a common If you want to list all matches starting with the filter expression (a common
use case), start the expression with a use case), start the expression with a

8
nnn.c
View file

@ -743,6 +743,10 @@ readln(char *path)
redraw(path); redraw(path);
printprompt(ln); printprompt(ln);
break; break;
case CONTROL('L'):
cur = oldcur;
*ch = CONTROL('L');
goto end;
default: default:
wln[len++] = (wchar_t)*ch; wln[len++] = (wchar_t)*ch;
wln[len] = '\0'; wln[len] = '\0';
@ -774,10 +778,6 @@ readln(char *path)
redraw(path); redraw(path);
printprompt(ln); printprompt(ln);
break; break;
case KEY_IC:
cur = oldcur;
*ch = CONTROL('L');
goto end;
case KEY_DOWN: // fallthrough case KEY_DOWN: // fallthrough
case KEY_UP: // fallthrough case KEY_UP: // fallthrough
case KEY_LEFT: // fallthrough case KEY_LEFT: // fallthrough