* Added fzfz plugin * Fixed shellcheck errors * Fixed copy/paste error * Added support for fzy, also renamed plugin since it's not specific to fzf anymore * Refactored code * Clean spillovers (jarun)master
@@ -33,9 +33,9 @@ Plugins are installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`. | |||||
| diffs | Diff for selection (limited to 2 for directories) | sh | vimdiff | | | 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) | | | dragdrop | Drag/drop files from/into nnn | sh | [dragon](https://github.com/mwh/dragon) | | ||||
| fzcd | Change to the directory of a fuzzy-selected file/dir | sh | fzf/fzy<br>fd/fdfind/find | | | fzcd | Change to the directory of a fuzzy-selected file/dir | sh | fzf/fzy<br>fd/fdfind/find | | ||||
| fzfz | Change to any directory in the z database with fzf | sh | fzf, z | | |||||
| fzhist | Fuzzy-select a cmd from history, edit in `$EDITOR` and run | sh | fzf/fzy | | | 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 | | | fzopen | Fuzzy find a file in dir subtree and edit or open | sh | fzf/fzy, xdg-open | | ||||
| fzz | Change to any directory in the z database with fzf/fzy | sh | fzf/fzy, z | | |||||
| getplugs | Update plugins | sh | curl | | | getplugs | Update plugins | sh | curl | | ||||
| gutenread | Browse, download, read from Project Gutenberg | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional) | | | gutenread | Browse, download, read from Project Gutenberg | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional) | | ||||
| hexview | View a file in hex in `$PAGER` | sh | xxd | | | hexview | View a file in hex in `$PAGER` | sh | xxd | | ||||
@@ -1,23 +0,0 @@ | |||||
#!/usr/bin/env sh | |||||
# Description: cd to any dir in the z database using an fzf pane | |||||
# | |||||
# Shell: POSIX compliant | |||||
# Author: Nick Waywood | |||||
. "$(dirname "$0")"/.nnn-plugin-helper | |||||
if [ "$(cmd_exists fzf)" -eq "0" ]; then | |||||
if [ -f "$HOME/.z" ]; then | |||||
# I read the data from z's file instead of calling the z command so that the data doesn't need to be processed twice | |||||
sel=$(awk -F "|" '{print $1}' "$HOME/.z" | fzf | awk '{$1=$1};1') | |||||
# NOTE: Uncomment this line and comment out the line above if you want to see the weightings of the dir's in the fzf pane | |||||
# sel=$(awk -F "|" '{printf "%s %s\n", $2, $1}' "$HOME/.z" | fzf | sed 's/^[0-9,.]* *//' | awk '{$1=$1};1') | |||||
else | |||||
exit 1 | |||||
fi | |||||
else | |||||
exit 1 | |||||
fi | |||||
printf "%s" "0$sel" > "$NNN_PIPE" |
@@ -0,0 +1,27 @@ | |||||
#!/usr/bin/env sh | |||||
# Description: cd to any dir in the z database using an fzf pane | |||||
# | |||||
# Shell: POSIX compliant | |||||
# Author: Nick Waywood | |||||
. "$(dirname "$0")"/.nnn-plugin-helper | |||||
if which fzf >/dev/null 2>&1; then | |||||
fuzzy=fzf | |||||
elif which fzy >/dev/null 2>&1; then | |||||
fuzzy=fzy | |||||
else | |||||
exit 1 | |||||
fi | |||||
if [ -f "$HOME/.z" ]; then | |||||
# I read the data from z's file instead of calling the z command so that the data doesn't need to be processed twice | |||||
sel=$(awk -F "|" '{print $1}' "$HOME/.z" | "$fuzzy" | awk '{$1=$1};1') | |||||
# NOTE: Uncomment this line and comment out the line above if you want to see the weightings of the dir's in the fzf/fzy pane | |||||
# sel=$(awk -F "|" '{printf "%s %s\n", $2, $1}' "$HOME/.z" | "$fuzzy" | sed 's/^[0-9,.]* *//' | awk '{$1=$1};1') | |||||
else | |||||
exit 1 | |||||
fi | |||||
printf "%s" "0$sel" > "$NNN_PIPE" |