Clifm is a shell-like, text-based terminal file manager that sits on the command line.
Though fully-featured, powerful, and extensible, it is not so much about features, but about design, about the way in which you interact with your file system.
Most terminal file managers out there (if not all) are built using the TUI design principles, much like the superb Midnight Commander and Ranger. But clifm is built rather having the CLI design principles in mind: do not navigate through a big menu of files, just type it, exactly as you do in your regular shell, but easier and faster!
For this reason, clifm does not need to be better: it's just different!
For a detailed description consult the introductory section of our Wiki.
Besides common file operations such as copy, move, remove, etc., clifm provides the following features:
.hidden files)pc and oc commands respectivelycp and mv with a nice progress bar)s *.[ch]<TAB>)=l<TAB> to list all symlinks in the current dir)@image<TAB>)xdg and Ranger's rifle)pistol and Ranger's scope.sh)view command)For a detailed explanation of each of these features, follow the corresponding links or consult the Wiki.
If running on Linux, binary packages are available for most major distributions via the OpenSUSE Build System.
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 installFor more information/supported platforms consult the installation page.
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.
✓ 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 both our FAQ and these basic usage-examples to get you started.
For a complete description please consult our Wiki.
1.18 (Caniche endormi)
.hidden files, including wildcards.--time-style, TimeStyle (config file), or TIME_STYLE (environment variable).-L,--follow-symlinks-long.follow-symlinks-long via the k command and the Alt-+ keybinding (edit your keybindings file -via kb edit- and add this line to enable this new keybinding: toggle-follow-links-long:M-+).--prop-fields.p/pp command via either --ptime-style, PTimeStyle (config file), or PTIME_STYLE (environment variable).-a and -l options to disable hidden files and long view respectively (instead of enabling these features, like most files listers do (ex: ls, exa, eza, lsd)), and 2) we were using uppercase options sometimes to enable and sometimes to disable features (which is not consistent), we made the following changes:
-a enables hidden files and -A disables it-f enables dirs-first and -F disables it-l enables long-view and-L follow symbolic links in long view (short for --follow-symlinks-long)-o enables autocd and -O disables it1.17 (Lechuck)
ReadAutocmdFiles is set to true in the main configuration file.1.16 (Big Whoop)
1.15 (Jolly Rogger)
fzf 0.44 or later).p/pp command) (Linux).1.14 (Jawbreaker)
--stat and --stat-full options.HistIgnore in the config file.DirhistIgnore in the config file.1.13 (Voodoo Root)
p/pp command).p/pp command).fzy has been inactive for more than a year, we have forked it as fnf (including some features needed to make it work with clifm). Because of this, --fzytab has been renamed to --fnftab, just as the TabCompletionMode option in the config file now takes fnf instead of fzy as value.new command.clifmrun file to get image previews working again.1.12 (Blondebeard)
--no-bold.ColorLinksAsTarget in the config file.TrimNames option in the config file and --no-trim-names.tag command.version 1.11 (Cobb)
--no-apparent-size or setting ApparentSize to false in the config file.ColorScheme option in the config file (or set it either to an empty value or to default-256) to enable this feature.config dump to print the list of settings and their current value (highlighting those differing from default values)config command is now used to open/edit the main configuration file (edit can still be used, but is deprecated and might be removed in a future release)FzfPreview (file previews in TAB completion - fzf mode only) is now enabled by default (disable via --no-fzfpreview)j command)--purge optionversion 1.10 (Swordmaster):
dh command. The dh plugin, just as the bh and fh commands, is now deprecated.s: works now like sel keyword, to be in line with t: (for tags) and b: (for bookmarks). Consult the Files selection section.:b construct was removed. b: now lists bookmark names instead of paths. b:mybm expands to the path pointed to by the bookmark named mybm. The ExpandBookmarks option (config file) is now deprecated, just as the bookmarks suggestions strategy (in the SuggestionStrategy option). See the Bookmarks section.bm add FILE BM_NAME.rename subcommandoc, a files ownership editorcmd<TAB>
--sel-file flagversion 1.9 (Sharptooth):
pc, a file permissions editorcd - works now just like in most shellsview command can now select files via TAB
view command via Alt+-
--fzfpreview-hidden to start the preview window hidden (toggle via Alt-p)version 1.8 (Otis):
keybindings.clifm: removing the file and restarting is enough. Manually: run kb edit and then replace open-jump-db:e[18~ by open-preview:e[18~.FzfTabOptions line in your theme file (via the cs edit command) or just copy the theme file from the data directory (usually /usr/local/share/clifm/colors): --bind alt-p:toggle-preview,change:top,alt-up:preview-page-up,alt-down:preview-page-down --preview-window=wrap,border-left --color="border:7:dim".clifmimg plugin, for image previewsview command, to preview files in full screenfzfsel plugin via the -f option--vt100 switchCPR-CUP escape sequences! These were replaced by 100% made in-house cursor position calculation plus basic/portable escape sequences: CUU, CUD, CUF, and CUB.version 1.7 (Elaine):
.cfm to .clifm (avoid conflict with ColdFusion files)cc command removed to avoid conflicts with /bin/cc (use colors instead)--std-tab-comp option renamed to --stdtab (to match --fzytab and --smenutab options)version 1.6 (Guybrush):
--no-folders-first and --folders-first options renamed to --no-dirs-first and --dirs-first respectively. 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 (Nano):
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.wp color code is used now only for the input text color of the warning prompt.version 1.4 (Alma):
For more details consult the changelog file.
Clifm runs on Linux, Termux (Android), FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS, Solaris/Illumos, Haiku, and Cygwin/MinGW, on x86, ARM, PowerPC, and RISC-V architectures.
This project is licensed GPL version 2 (or later). See the LICENSE file for details.
Contributions are kindly welcome! Please see our contribution guidelines for details.
Visit the Discussions section of this repo and let us know what you think: ideas, comments, observations and questions are always useful.
Leo Abramovich <[email protected]>.
Special thanks to all those who have contributed to this project.