A terminal file manager for Linux
- Unlimited tab support
 - Colorizing with 
LS_COLORS - Custom keymaps (see below)
 - Incremental search
 
I'm not aware of any distros packaging nimmm apart from NixOS, so
you will probably have to compile nimmm from source on non-NixOS
distros.
You will need the Nim development
toolchain. Furthermore,
termbox-devel or libtermbox-dev is required for the terminal user
interface.
git clone https://github.com/joachimschmidt557/nimmm
cd nimmm
nimble buildnimmm is included in nixpkgs.
nix-env -i nimmm
# or, if you prefer nix flakes
nix profile install nixpkgs#nimmmSome functionality of nimmm is controlled via environment variables
similar to other programs:
| Environment variable | Setting | 
|---|---|
EDITOR | 
file editor | 
PAGER | 
file viewer | 
NIMMM_OPEN | 
file opener | 
NIMMM_256 | 
enable 256 color mode | 
Other configuration such as keybindings are configured in
$XDG_CONFIG_HOME/nimmm.conf where $XDG_CONFIG_HOME defaults to
~/.config if not set.
The default keymap is similar to that of less.
| Key | Default binding | Description | 
|---|---|---|
| q | quit | 
quit | 
| ! | shell | 
spawn shell in current directory | 
| j | down | 
next entry | 
| k | up | 
previous entry | 
| h | left | 
go to the parent directory | 
| l | right | 
navigate to directory / open file | 
| g | first | 
first entry | 
| G | last | 
last entry | 
| ~ | home | 
go to home directory | 
| . | toggle-hidden | 
toggle display of hidden entries | 
| / | search | 
start searching | 
| Esc | end-search | 
stop searching | 
| e | edit | 
edit file in $EDITOR | 
| p | pager | 
view file in $PAGER | 
| r | rename | 
rename file/directory | 
| Space | select | 
select / deselect current entry | 
| a | select-all | 
select all entries in current directory | 
| s | select-none | 
clear selection | 
| X | delete | 
delete selected entries | 
| P | copy | 
copy selected entries | 
| V | move | 
move selected entries | 
| f | new-file | 
create (touch) a new file | 
| d | new-dir | 
create a new directory | 
| t | new-tab | 
new tab | 
| w | close-tab | 
close tab | 
| Tab | next-tab | 
next tab | 
| 1..0 | tab-x | 
go to tab 1..10 | 
Keybindings are customized in the configuration file. For example, if you prefer more Emacs-oriented movement keybindings, you can do this:
[Keybindings]
h=none
j=none
k=none
l=none
n=down
p=up
f=right
b=left- Help page
 
| Dependency | Use | 
|---|---|
cp, mv, rm, mkdir, touch | 
nimmm delegates all operations on files and directories to these utilities to save all the error-handling and permission-checking work. These utilities should (hopefully) be on your UNIX system | 
$SHELL or fallback sh | 
an interactive shell | 
$EDITOR or fallback vi | 
an editor | 
$PAGER or fallback less | 
a pager | 
$NIMMM_OPEN or fallback xdg-open | 
a file opener | 
nimmm is licensed under the GNU General Public License v3.0 only.