Graphical X11 file manager with VIM bindings, written in C.
- Drag and drop support.
- Mounted device navigation.
- Embedded preview processes.
- Built-in image feh & text st+vim preview.
- Supports
--filechooserprotocol. - DBUS integration out of the box.
- Optional icon support via nanosvg.
- Configure with
xmake f --icons=y
- Configure with
- Optional archive support via libarchive.
- Configure with
xmake f --archives=y
- Configure with
- Vim input mode (on by default); disable for the non-vim type-to-search mode.
- Configure with
xmake f --vimmode=n
- Configure with
- Minimal and launches very quickly.
This project is configured via header files, user.h should contain your local configuration.
Create a copy of config/example_user.h to edit with examples.
cp config/example_user.h config/user.hIf Lizaveta was built previously without config/user.h in its dependency tree,
you have to run xmake clean before recompiling for the changes to propegate.
xmake clean && xmakeLizaveta ships with support for multiple built-in themes.
See the theme gallery for a preview of every theme.
Image preview embedded in Lizaveta via feh.
Runs as a seperate process, embedded using Xlib.
Text preview & device management
Text preview embedded in Lizaveta via st + vim.
Runs as a seperate process, embedded using Xlib.
| Key | Action |
|---|---|
h |
Directory up |
l |
Enter directory |
j |
Cursor down |
k |
Cursor up |
n |
Next found item |
N |
Previous found item |
Shift + h |
Navigate to home directory |
Ctrl + d |
Scroll half page down |
Ctrl + u |
Scroll half page up |
Ctrl + o |
Jump history back |
Ctrl + i |
Jump history forward |
| Key | Action |
|---|---|
v |
Visual mode |
: |
Command mode |
/ |
Search mode |
Esc |
Normal mode |
Shift + v |
Visual line mode |
| Key | Action |
|---|---|
DEL |
Delete |
d |
Delete selection |
dd |
Delete at cursor |
r |
Rename |
o |
Create directory |
| Key | Action |
|---|---|
p |
Preview file |
t |
Open current directory in terminal |
Ctrl + c |
Copy |
Ctrl + v |
Paste |
Ctrl + x |
Cut |
Ctrl + p |
Toggle side panel |
Ctrl + h |
Toggle hidden files |
Ctrl + l |
Focus on nav |
Ctrl + Enter |
Save as |
Shift + t |
Open directory at cursor in terminal |
Ctrl + Alt + d |
Quit |
These are the default bindings when the non-vim input mode is selected.
| Key | Action |
|---|---|
| letters/digits/typing | Incremental search; selection jumps to the first match |
Enter |
Open the matched file/folder |
BackSpace |
Remove the last character of the query |
Esc |
Clear the search |
| Key | Action |
|---|---|
Delete |
Delete selection |
F2 |
Rename |
Ctrl + n |
Create folder |
Ctrl + d |
Scroll half page down |
Ctrl + u |
Scroll half page up |
Ctrl + o |
Jump history back |
Ctrl + i |
Jump history forward |
| Key | Action |
|---|---|
Ctrl + c |
Copy |
Ctrl + x |
Cut |
Ctrl + v |
Paste |
Ctrl + p |
Preview file |
Ctrl + t |
Open current directory in terminal |
Ctrl + Shift + t |
Open directory at cursor in terminal |
Alt + Home |
Navigate to home directory |
Ctrl + h |
Toggle hidden files |
Ctrl + b |
Sidebar |
Ctrl + l |
Focus on nav |
Esc |
Close preview |
Ctrl + Alt + d |
Quit |
| Command | Action |
|---|---|
:noh |
Clear search highlight |
:q |
Quit |
:o <command> %s |
Open file with |
Why? I like Thunar, but it lacks Vim integration and feels sluggish. Pure terminal Vim file managers support neither drag-and-drop nor reliable image previews without specific terminal features. Few also integrate with D-Bus. With Lizaveta I want to address these common shortcomings, and create something that just works.


