nnn/plugins
2019-06-01 00:34:07 +05:30
..
boom Plugin music: play random music from current dir 2019-04-20 18:12:52 +05:30
fzy-edit Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
fzy-open Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
getplugs Update getplugs to set up nlauch 2019-05-22 08:44:19 +05:30
hexview Plugins! 2019-04-18 20:32:53 +05:30
imgresize Plugins! 2019-04-18 20:32:53 +05:30
imgur Add license and copyright 2019-05-22 08:48:44 +05:30
ipinfo ipinfo shows external IP address 2019-05-24 23:14:19 +05:30
kdeconnect Support config dir ~/.config/nnn 2019-04-21 23:59:51 +05:30
ndiff Support directory diff 2019-05-26 10:27:09 +05:30
nmount Update plugins, add mutool to view PDF 2019-06-01 00:34:07 +05:30
nwal Plugins! 2019-04-18 20:32:53 +05:30
pastebin Plugin getplugs: update nnn plugins 2019-04-19 19:06:03 +05:30
pdfview Update plugins, add mutool to view PDF 2019-06-01 00:34:07 +05:30
picker Plugins! 2019-04-18 20:32:53 +05:30
pywal Plugins! 2019-04-18 20:32:53 +05:30
README.md Update plugins, add mutool to view PDF 2019-06-01 00:34:07 +05:30
sxiv Plugins! 2019-04-18 20:32:53 +05:30
transfer Plugins! 2019-04-18 20:32:53 +05:30
upgrade Plugins! 2019-04-18 20:32:53 +05:30

Plugin (a-z) Lang Deps Description
boom sh SMPlayer Play random music from current dir (modify PLAYER)
fzy-edit sh fzy Fuzzy find a file in directory subtree and edit in vim
fzy-open sh fzy Fuzzy find a file in directory subtree and open using xdg-open
getplugs sh wget Update plugins
hexview sh xxd View a file in hex in $PAGER
imgresize sh imgp Resize images in directory to screen resolution
imgur bash - Upload an image to imgur (from imgur-screenshot)
ipinfo sh curl, whois Fetch external IP address and whois information
kdeconnect sh kdeconnect-cli Send selected files to an Android device
ndiff bash vimdiff Diff for selection (limited to 2 for directories)
nmount sh pmount, udisks2 Toggle mount status of a device as normal user
nwal sh nitrogen Set the selected image as wallpaper using nitrogen
pastebin sh pastebinit Paste contents of current (text) file to paste.ubuntu.com
pdfview sh pdftotext/mupdf-tools View current PDF file in $PAGER
picker sh nnn Pick files and pipe the newline-separated list to another utility
pywal sh pywal Set selected image as wallpaper, change terminal color scheme
sxiv sh sxiv Browse images in a dir in sxiv, set wallpaper, copy path (config)
transfer sh curl Upload current file to transfer.sh
upgrade sh wget Upgrade to latest nnn version manually on Debian 9 Stretch

Installing plugins

Download the getplugs plugin and execute it anywhere to get all the plugins installed to ~/.config/nnn/plugins. You can run it again later to update the plugins.

NOTE: getplugs also downloads the launcher nlaunch and tries to place it at /usr/local/bin/ using sudo. If it fails you have to place nlauch manually somewhere in your $PATH.

File access from plugins

Plugins can access:

  • all files in the directory (nnn switches to the dir where the plugin is to be run so the dir is $PWD for the plugin)
  • the current file under the cursor (the file name is passed as the argument to a plugin)
  • the current selection (by reading the file ~/.config/nnn/.selection, see the plugin ndiff)

Each script has a Description section which provides more details on what the script does, if applicable.

Contributing plugins

Plugins are scripts and all scripting languages should work. However, POSIX-compliant shell scripts runnable in sh are preferred. If that's too rudimentary for your use case, use Python, Perl or Ruby. Please keep non-portable commands (like notify-send) commented so users from any other OS/DE aren't surprised.

The plugins should be executable. Please add an entry in the table above.