diff --git a/README.md b/README.md index fa5f9374..0fcc3b6f 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ It runs smoothly on the Pi, [Termux](https://www.youtube.com/watch?v=AbaauM7gUJw - Edit and preview markdown, man page, html - Open a file and auto-advance to the next - Export (filtered) list of visible files -- Find files by mime-type and list in `nnn` +- Find and list in `nnn` from `nnn` - Unlimited bookmarks, plugins, commands with custom hotkeys - Write a plugin in any language you know - Configure the middle mouse click to do anything diff --git a/plugins/README.md b/plugins/README.md index 30672360..dbd0e9ea 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -32,6 +32,7 @@ Plugins are installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`. | chksum | Create and verify checksums | sh | md5sum,
sha256sum | | diffs | Diff for selection (limited to 2 for directories) | sh | vimdiff | | dragdrop | Drag/drop files from/into nnn | sh | [dragon](https://github.com/mwh/dragon) | +| finder | Run custom find command and list | sh | - | | fzcd | Change to the directory of a fuzzy-selected file/dir | sh | fzf/fzy
fd/fdfind/find | | fzhist | Fuzzy-select a cmd from history, edit in `$EDITOR` and run | sh | fzf/fzy | | fzopen | Fuzzy find a file in dir subtree and edit or open | sh | fzf/fzy, xdg-open | @@ -172,7 +173,7 @@ The `ctxcode` indicates the context to change the active directory of. |:---:| --- | | `1`-`4` | context number | | `0` | current context | -| `+` | next inactive context or current (if all active) | +| `+` | smart context (next inactive else current) | The `opcode` indicates the operation type. diff --git a/plugins/finder b/plugins/finder new file mode 100755 index 00000000..c3b22420 --- /dev/null +++ b/plugins/finder @@ -0,0 +1,28 @@ +#!/usr/bin/env sh + +# Description: Run custom search and list results in smart context +# +# Note: To enable multi select in fzf, export the following: +# - export FZF_DEFAULT_OPTS='--bind ctrl-a:select-all,ctrl-d:deselect-all' +# +# Shell: POSIX compliant +# Author: Arun Prakash jana + +. "$(dirname "$0")"/.nnn-plugin-helper + +printf "Examples:\n" +printf " find . -name \"pattern*\" -print0\n" +printf " fd pattern -0\n" +printf " find -maxdepth 1 -size +100M -print0\n" +printf " fd -d 2 -S +100M -0\n" +printf " grep -rlZ pattern\n" +printf " rg -l0 pattern\n" +printf " fzf -m | tr %s %s\n\n" "'\n'" "'\0'" + +printf "cmd: " +read -r cmd + +if ! [ -z "$cmd" ]; then + printf "%s" "+l" > "$NNN_PIPE" + eval "$cmd" > "$NNN_PIPE" +fi