The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell.
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 install
For 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 TABview
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.