In case you haven't come across
nnn yet, it's a tiny and fast C file manager with an array of features. While I started writing it as a performant file manager for the Pi, today it's a full-featured terminal file manager for the desktop as well.
To make the file manager extensible, I added a framework for plugins. A plugin can be any executable with which
nnn can communicate. At the time of writing
nnn has around 40 powerful plugins (repository). Most of them are POSIX-compliant and can be easily modified, if required.
In this post I'll explore some of the plugins I find very useful in my day to day work.
- boom: Everyone has a old stash of music in a hard disk lying somewhere. Just plug the disk, navigate to the root directory and run this plugin to rediscover long-forgotten tunes. The tracks are added randomly to MOC by default. You can easily change it to a GUI/CLI player of your choice in the script.
diffs: Show diff of files in
nnnselection or 2 directories.
- dups: Find non empty duplicate files in the current directory tree to clean up.
exetoggle: Toggle executable status of the hovered file.
nnnhas a keybind to execute the file in-place afterwards.
fzcd: Uses the recently-added capability to control
nnn's active directory from a plugin. Fuzzy select a file and jump to it's directory. The plugin also allows you to choose a different context to open the directory in.
- gutenread: If you like to read in your pastime, you'll love this plugin. Download any ebook from Project Gutenberg and read it in a soothing interface. You'll have to edit the plugin and add the ID of the ebook you want to read. If no ID is added, it takes you to the list of most popular ebooks where you can pick one. If you are interested, I'm reading Wuthering Heights by Emily Brontë.
- imgur: Upload an image to imgur and get the links.
- imgviu: Show images in the current directory in the terminal.
- ipinfo: Do you use a VPN or tunnel? Confirm your external IP and whois information using this plugin.
- mediainf: Show media information of a file.
- moclyrics: Fetch the lyrics of the current track playing in MOC.
- nmount: My most favourite plugin, toggles mount status of external drives in a REPL.
notes: Quick notes based on a pre-defined text file/path. If you are using an editor like
vimyou can add the path to a directory containing multiple notes.
- oldbigfile: Find the oldest large files lying on your disk.
- organize: Automatically categorize the files in your Downloads directory.
- pastebin: Paste contents of a text file and get the link.
- pskill: Search for a process or zombie processes and kill them.
- ringtone: Create a variable bitrate ringtone from a multimedia file. You can also use it to convert complete files to mp3.
- splitjoin: Split and join selected files.
- suedit: Edit a file using superuser permissions.
- transfer: Upload a file to transfer.sh and get the links.
- treeview: Tree output of the current directory with file permissions and size.
- vidthumb: Show thumbnails of video files in the current directory in the terminal.