A lightweight terminal file manager written in C.
Focused on performance, low resource usage, and keyboard-driven navigation.
CFM is a lightweight terminal file manager written entirely in C. It is designed with a strong focus on performance, low memory consumption, and minimal CPU usage while providing an efficient keyboard-driven workflow.
- Ncurses
- fd (If not installed, search feature won't work)
- GCC
- pkg-config
- Lightweight and efficient
- Low memory usage
- Keyboard-driven interface
- Fast startup
- Image preview (Currently for kitty terminal only)
Core functionality includes:
-
Browse directories
-
Open files
-
Create files and directories
-
Delete files and directories
-
Rename files and directories
-
Copying and Pasting files and directories
-
Moving files and directories
-
Optimized for keyboard navigation to maximize productivity, powered with vim keys.
CFM uses an internel clipboard for processes like copying, moving and pasting
CFM is optimized for keyboard navigation to maximize productivity powered with vim keys
| Key(s) | Function |
|---|---|
| h Enter Left Arrow | Go Back (Parent Directory) |
| l Right Arrow | Enter Directory |
| j Down Arrow | Navigate to the bottom |
| k Up Arrow | Navigate to the top |
| gg | Move to the top |
| G (Shift + G) | Move to the bottom |
| c y | Copy a file/folder |
| x | Cut a file/folder |
| p | Paste a file/folder |
| s / | Search a file |
| q Esc | Quit CFM |
| a | Create a new file/folder |
| d | Delete a file/folder |
| r | Rename a file/folder |
You can install CFM using the provided installation script:
curl https://raw.githubusercontent.com/nothingfr87/cfm/refs/heads/main/install.sh | shAlternatively, you can build CFM from source.
Before that let's install the required libraries
sudo apt update
sudo apt install build-essentials pkg-config libncurses5-dev libncursesw5-devsudo dnf groupinstall "Development Tools"
sudo dnf install ncurses-devel pkgconf-pkg-configsudo pacman -S base-devel ncurses pkgconfClone the repository and build the project:
git clone https://github.com/nothingfr87/cfm.git
cd cfm/
make buildThe compiled binary will now be available in the project directory.
To install CFM system-wide:
sudo make all installCurrently supported:
- Linux (Tested on Debian 13 Trixie)
- MacOS (Not Tested)
If you encounter any bugs or unexpected behavior, please open an issue. Feedback and contributions are always appreciated.
This project is licensed under the MIT License
If CFM does not fit your workflow, you may also be interested in these excellent terminal file managers that inspired this project:
| rida-hdj | making our CFM Logo |
|---|---|
| DEXTER | Adding image preview for kitty terminal |
If you find CFM useful, consider starring the repository to support its development.

