Skip to content

Latest commit

 

History

History
127 lines (100 loc) · 3.04 KB

README.md

File metadata and controls

127 lines (100 loc) · 3.04 KB

ccc

Soft fork of fff in C aiming for size and speed with no dependency, hackable with patches and configurable via config.h

The fact that it is written in C makes it more versatile and rapid, enabling us to add features that were previously ruled out due to time complexity.

Features

Consider this project incomplete and WIP!

Feature of fff Ported Dropped
Standard movement X
Advanced movement (jumps) X
File details X
File icons! X
Searching for files
Sorting X
Marking and marking operations
Image previews X
Help X
History
Bookmarks
Bulk rename

Features added that are not in fff:

  • File preview

Usage

ccc -p dir # File picker
ccc dir
h: go to parent dir
j: scroll down
k: scroll up
l: go to child dir

left:  go to parent dir
down:  scroll down
up:    scroll up
right: go to child dir

enter: go to child dir/open file
backspace: go to parent dir

gg: go to top
G: go to bottom

ctrl+u: jump up
ctrl+d: jump down

t: go to trash dir
~: go to home dir
-: go to previous dir
z: refresh current dir
:: go to a directory by typing
u: sort files

.: toggle hidden files
i: toggle file details
X: toggle executable

A: show directory disk usage/block size

f: new file
n: new dir
r: rename

space: mark file
a: mark all files in directory
d: trash

?: show help
q: exit with last dir written to file
ctrl+c exit without writing last dir

TO BE DONE:
o: open file with
O: open file with a GUI program detached from file manager

/: search
!: open shell in current dir

x: view file/dir attributes
e: show history
y: copy filename to clipboard

c: copy
m: move
s: symbolic link
b: bulk rename

p: execute paste/move/delete/bulk_rename

[1-9]: favourites/bookmarks (see customization)

Dependencies

  • Any Nerd Font for file icons (optional, but turned on by default)
  • libsixel (Optional)

Building

You will need to run these with elevated privilages.

$ make 
# make install

Customizing

CD on Exit for POSIX Shell

# Add this to your .bashrc, .zshrc or equivalent.
# Run 'ccc' with 'c' or whatever you decide to name the function.
c() {
    ccc "$@"
    cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/ccc/.ccc_d")"
}

Using ccc in neovim as a file picker

See ccc.nvim

Contributions

Contributions are welcomed, feel free to open a pull request.

License

This project is licensed under the GNU Public License v3.0. See LICENSE for more information.