/bsd-linux-clifm

The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell

Primary LanguageCGNU General Public License v2.0GPL-2.0

CliFM logo

CliFM

The Command Line File Manager

No GUI, no TUI, no menus. Just you and a (powerful, file-management oriented) command line


GitHub release (latest by date)

Code grade


Table of contents

🔸 Brief description
🔸 Features
🔸 Introduction video
🔸 Installation
🔸 Getting started
🔸 What's new?
🔸 Support
🔸 License
🔸 Contributing
🔸 Community


👾 Brief description

Clifm is a Command Line Interface File Manager: all input and interaction is performed via commands. This is its main feature and strength.

Unlike most terminal file managers out there, indeed, clifm replaces the traditional TUI interface (also known as curses or text-menu based interface) by a command-line interface (CLI),1 also known as REPL.2

If working with the command-line, your workflow is not affected at all, but just enriched with file management functionalities: automatic files listing, files selection, bookmarks, tags, directory jumper, directory and commands history, auto-cd and auto-open, bulk rename, TAB completion, autosuggestions, and a trash system, among other features. In this sense, clifm is certainly a file manager, but also a shell extension.

Briefly put, with clifm the command-line is always already there, never hidden :godmode: 💪


1 For more information about these concepts see the resources page .
2 For a detailed description consult the introductory section of our Wiki.


CliFM's interface

We only need 7 keystrokes to move all selected files into the images directory


✔️ Features

Click here to expand

Besides common file operations such as copy, move, remove, etc., clifm provides the following features:


Auto-suggestions in action


For a detailed explanation of each of these features, follow the corresponding links or consult the Wiki.


🎬 Introduction video

Alt text


💾 Installation

From a package manager

Packaging status Packaging status Packaging status

If running on Linux, binary packages are available for most major distributions via the OpenSUSE Build System.

From source (Linux/BSD)

Note: Dependencies are most likely already satisfied, but in any case consult the dependencies section.

git clone https://github.com/leo-arch/clifm.git
cd clifm
sudo make install

For more information/supported platforms consult the installation page.


💡 Getting started

To start using clifm you don't need to learn anything new: the usual shell commands will just work. However, there is much more than just shell commands...
✓ The help command gives you a quick introduction to clifm: once in the clifm prompt, enter help or ?.
✓ Type cmd<TAB> to get the list of available commands and a brief description (since version 1.9.2).
✓ Type help <TAB> to get the list of available help topics. Select the one you want and press Enter.
✓ 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.
✓ To get help about some specific command just type CMD -h. For instance, s -h.

You can also take a look at some of these basic usage-examples to get you started.
For a complete description please consult our Wiki.


📰 What's new?

Click here to expand

For more details consult the changelog file.


Support

Clifm is C99 and POSIX-1.2008 compliant (if compiled with the _BE_POSIX flag). Consult the compilation page.
Successfully tested and running flawlessly on Termux (Android), FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS, Haiku, and Cygwin, on x86, ARM, and PowerPC 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.


Developer

Leo Abramovich <leo.clifm@outlook.com>