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.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

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

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

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

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.