cfiles – A Fast Terminal File Manager with Vim Keybindings

cfiles is a lightweight, fast and minimal VIM-inspired terminal file manager written in C using the ncurses library. It comes with vim like keybindings and depends on a number of other Unix/Linux tools/utilities.

cfiles - Linux Terminal File Manager

cfiles – Linux Terminal File Manager


  1. cp and mv
  2. fzf – for searching
  3. w3mimgdisplay – for image previews
  4. xdg-open – for opening programs
  5. vim – for renaming, bulk renaming and editing clipboard
  6. mediainfo – for displaying media info and file sizes
  7. sed – for removing a particular selection
  8. atool – for archive previews

In this article, we will show how to install and use cfiles terminal file manager in Linux.

How to Install and Use cfiles in Linux

To install cfiles on your Linux systems, first you need to install development tools as shown.

# apt-get install build-essential               [On Debian/Ubuntu]
# yum groupinstall 'Development Tools'		[on CentOS/RHEL 7/6]
# dnf groupinstall 'Development Tools'		[on Fedora 22+ Versions]

Once installed, now you can clone the cfiles sources from its Github repository using the git command as shown.

$ git clone

Next, move into the local repository using cd command and run the following command to compile it.

$ cd cfiles
$ gcc cf.c -lncurses -o cf

Next, install the executable by copying or moving it to a directory that is in your $PATH, as follows:

$ echo $PATH
$ cp cf /home/aaronkilik/bin/
Install cfiles File Manager

Install cfiles File Manager

Once you have installed it, launch it as shown.

$ cf
Open cfiles Terminal File Manager

Open cfiles Terminal File Manager


You can use the following keybindings.

  • h j k l – Navigation keys
  • G – Go to end
  • g – Go to top
  • H – Go to top of current view
  • M – Go to middle of current view
  • L – Go to bottom of current view
  • f – Search using fzf
  • F – Search using fzf in the present directory
  • S – Open Shell in present directory
  • space – Add/Remove to/from selection list
  • tab – View selection list
  • e – Edit selection list
  • u – Empty selection list
  • y – Copy files from selection list
  • v – Move files from selection list
  • a – Rename Files in selection list
  • dd – Move files from selection list to trash
  • dD – Remove selected files
  • i – View mediainfo and general info
  • . – Toggle hidden files
  • ' – View/Goto bookmarks
  • m – Add bookmark
  • p – Run external script
  • r – Reload
  • q – Quit

For more information and usage options, see the cfiles Github repository:

Cfiles is a lightweight, fast and minimal ncurses file manager written in C with vim like keybindings. It is a work in progress with many features yet to come. Share your thoughts about cfiles, with us via the feedback form below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Aaron Kili

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

2 Responses

  1. Hans says:

    Thanks for letting us know about this practical & cool CLI tool.

    I tried to install on Ubuntu 18.04 yet run into the following error:

    [email protected]:~$ cd cfiles
    [email protected]:~/cfiles$ gcc cf.c -lncurses -o cf
    cf.c:16:10: fatal error: curses.h: No such file or directory
    compilation terminated.

    Any idea how to overcome this problem?

    • Aaron Kili says:


      Install the ncurses library with the following command.

      $ sudo apt-get install libncurses5-dev libncursesw5-dev    #Debian/Ubuntu
      # yum install ncurses-devel ncurses                        #RHEL/CentOS

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.