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

Dependencies

  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 https://github.com/mananapr/cfiles.git

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

Keybindings

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: https://github.com/mananapr/cfiles

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.

Tutorial Feedback...
Was this article helpful? If you don't find this article helpful or found some outdated info, issue or a typo, do post your valuable feedback or suggestions in the comments to help improve this article...

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.

3 thoughts on “cfiles – A Fast Terminal File Manager with Vim Keybindings”

  1. 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
    #include 
    ^~~~~~~~~~
    compilation terminated.
    

    Any idea how to overcome this problem?

    Reply

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.