/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

Fast, extensible, lightweight

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


GitHub release (latest by date) Packaging status

Language grade: C/C++ Code grade


Table of contents

🔸 Brief description
🔸 Introduction video
🔸 Features
🔸 Installation
🔸 Getting started
🔸 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.


🎬 Introduction video

Alt text

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.

✔️ Changelog

  • version 1.6.1 - Development:
  • version 1.6 (Guybrush):
    • ELN's color defaults now to cyan
    • --no-folders-first and --folders-first options renamed to --no-dirs-first and --dirs-first respectivelly. In the same way, the folders-first command was renamed to dirs-first.
    • PromptStyle option renamed as Notifications (taking true and false as values)
  • version 1.5:
    • Prompt, WarningPromptStr, DividingLine, and FfzTabOptions options were moved from the config file to the color scheme file to get a centralized and single theming file. However, to keep backwards compatibility, the old location is still recognized. If any of these options is found in the color scheme file, values taken from the main configuration file will be overriden.
    • The warning prompt color is set now via escape codes (exactly as the regular prompt). The wp color code is used now only for the input text color of the warning prompt.
  • version 1.4:

1 It can now match entire file names instead of just file extensions


Installation

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, type help or ?.
✓ Type help and then press TAB to get a list of 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.


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, MacOS, 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.