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 build
nimmm
is included in nixpkgs.
nix-env -i nimmm
# or, if you prefer nix flakes
nix profile install nixpkgs#nimmm
Some 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.