/clifm

CliFM is a CLI-based, shell-like, and non-TUI terminal file manager written in C: simple, fast, extensible, and lightweight as hell

Primary LanguageCGNU General Public License v2.0GPL-2.0

CliFM logo

CliFM

Non-curses, KISS file manager for the terminal

Fast, extensible, lightweight | Written in C

Linux, FreeBSD, NetBSD, OpenBSD, Haiku | x86, ARM


GitHub release (latest by date) Packaging status


[…] I think I had been looking for something like this for a long time, and had never put it in words. I used [other file-managers] occasionally, but frequently just found myself doing most of my file administration from the CLI. I think this hits a nice sort of sweet spot right between the two. It feels less like a separate program and more like just putting your shell into "file-management mode".

Tuerda


Halfway between a shell and a TUI file manager […] Nice tool, fluid, intuitive.

Orduval



Did I say it's fast?

Music: "Quad Machine", by Sonic Mayhem
Note: Icons and files preview depend on third-party software. Consult the icons and files preview sections.


Table of contents


Why?

Why another file manager? I can.
In a free world, a free community finds alternatives central to freedom, and moreover, a place to learn.

Whatever needs to be done, do it in the simplest possible way: KISS is a desired trait of a file manager for the terminal. No GUI, no TUI, but just a shell-like, Command Line Interface File Manager.

Unlike most terminal file managers out there, CliFM replaces the traditional TUI interface (also known as curses or text-menu based interface) by a simple command-line interface.1 It is a file manager, but also a shell extension.

Search for files, copy, rename, and trash some of them, but, at the same time, update/upgrade your system, add some cronjob, stop a service, and run nano (or vi, or emacs, if you like).

Those familiar with the command-line will find in a file manager based on it a desirable addition to its functionality.
The command-line is still there, never hidden.

Besides 5 MiB RAM and 500 KiB disk space, willingness to try something different is all you need.

Should all terminal file managers be TUI file managers? No.


1 For a detailed explanation and comparison between these concepts see the resources page and the introductory page of the Wiki.


Description

CliFM's interface

Features beyond common file operations, such as copy, move, remove, etc.:


Gemini in action


For a detailed explanation of each of these features, follow the corresponding links or consult the wiki.
To enjoy of any of the features tagged as NEW, clone this repository and install the program via the Makefile. Follow the instructions below.


Installing CliFM

Consult the installation page.


First steps

The help command teaches you about CliFM.
Once in the CliFM prompt, type help or ?.
To jump into the COMMANDS section in the manpage, simply enter cmd or press F2.
Press F1 to access the full manpage and F3 to access the keybindings help-page.

You can also take a look at some of these basic usage-examples to get you started.


Support

CliFM is C99 and POSIX-1.2008 compliant (if compiled with the _BE_POSIX flag). Consult the compilation page.
It works on Linux, FreeBSD, NetBSD, OpenBSD, and Haiku, on x86 and ARM architectures.


License

This project is licensed GPL version 2 (or later).
See the LICENSE file for details.


Contributing

Yes. Please see our contribution guidelines for details. Translation status at Hosted Weblate.


Community

Join our Gitter discussion room and let us know what you think: ideas, comments, observations and questions are always welcome.
The Discussions section of this repo is also open to input.