-
-
Notifications
You must be signed in to change notification settings - Fork 782
Power toys
If you need to repeat a directory repeatedly, you can pin it during a session using the shortcut ,. When you have a pinned directory, pressing the bookmark key (b or ^/) will list , as the first key:
bookmark keys: , w t m i d v n
Press , after the bookmark key to visit the pinned directory.
You can pin one directory at a time.
Filtering is the nnn way to search files in a directory. Did you know it's possible to apply a new filter on already filtered results?
- Go to a directory
- Press filter key (/) and type a filter
- Press Esc or Up or Down (the filter will disappear from the status bar)
- Press filter key again
- Type a new filter to find matches in the earlier filtered results
nnn provides you an option to mount archives when you press Enter on an archive. Press m to mount the archive and nnn will mount the archive and take you to the mountpoint of the mounted archive.
Add some files in the mounted archive, go back to the nnn config directory (${XDG_CONFIG_HOME:-$HOME/.config}/nnn) and hover on the archive mount point. Press u to unmount the archive and generate a package with the new files. The original package is saved with the extension .orig.
nnn exports the hovered file path as $nnn when you press the command prompt or spawn shell shortcuts. You can use the variable to run a command on the hovered file:
ls -l "$nnn"You can easily edit and view the changes to Markdown, man pages etc. in nnn. For this you need to use a CLI file opener. You can use plugin nuke, a customizable example opener to specify your preferred apps. To set nuke as the default opener:
export NNN_OPENER=/absolute/path/to/nukeand start nnn as nnn -c.
The option -c indicates to nnn that the opener is a CLI-only opener (note that nuke can open files in GUI apps as well; please read the documentation in the file).
Now when you press Enter on a Markdown file nuke will try to open it in glow or a man page in man.
To edit the file in $VISUAL (or $EDITOR, or vi), hover on the file and press e.
nnn allows users to select a file at a time, a range of files or all files in a directory together. Once you are done selecting, you can run a command on all the files by using the selection file as input:
xargs -0 ls -l < "${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection"If you are using this frequently, have a shortcut in your rc file:
export sel=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selectionand simplify the command as:
xargs -0 ls -l < $selMany plugins work this way!
Even if you compile nnn without libreadline, the native input prompts support several readline-like keys - ^A, ^B, ^D, ^E, ^F, ^K, ^U, ^W.
nnn allows you to run custom commands like plugins. For example, to open a log file in lnav, add a plugin-ish key:command pair in your NNN_PLUG environment variable:
export NNN_PLUG='l:-_lnav $nnn*'Press ; (select plugin shortcut) followed by l to open a log file in lnav.
You can control several aspects while running commands and plugins (e.g., skip dir refresh after running a plugin, skip user confirmation after running a command) and even run GUI apps as a plugin. Visit plugins for more details.
Note: lnav was taken as an example, you can easily open log files in lnav by editing the customizable sample opener nuke.
- The nnn magic!
- Add bookmarks
- Configure cd on quit
- Sync subshell
$PWD - Hot-plugged drives
- Image, video, pdf
- Detached text
- Run commands
- Launch applications
- Open as root
- File picker
- Remote mounts
- Synced quick notes
- Drag and drop
- Duplicate file
- Create batch links
- Disable bold fonts
- Themes
- Live previews
- File icons
- Custom keybinds
- CLI-only opener
- Desktop integration
- cp mv progress
- Control active dir
- Termux tips
- Pager as opener
- Working with lftp
- Power toys