Skip to content

Feeeeddmmmeee/dora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

210 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dora :3

AUR Version GitHub License GitHub last commit GitHub Created At

Dora is a feature-rich bash TUI file explorer, originally written as a university project.

✨ Features

Live search with regex support

search

🚀 Installation

Note that you don't have to install Dora to use it - just execute the ./dora script.

Arch Linux

Dora is available in the AUR so you can install it using your AUR helper of choice:

yay -S dora-git

Other Systems

To install Dora system-wide using make run:

git clone https://github.com/Feeeeddmmmeee/dora
cd dora
sudo make install

Then if you wish to uninstall Dora just run:

sudo make uninstall

📥 Dependencies

Required

  • bash
  • coreutils
  • grep (filtering results with regex)
  • file (checking file types)

Optional

  • xdg-utils (for opening non-text files with xdg-open)
  • highlight (for colorizing file previews)
  • nvim, vim, vi, nano (for opening files, can also use the $EDITOR variable)

🎮 Usage

Keybinds

# NAVIGATION

j / down    : scroll down
k / up      : scroll up
h / left    : go to parent dir
l / right   : open selected file

CTRL-U      : scroll half a page up
CTRL-D      : scroll half a page down
g           : scroll all the way up
G           : scroll all the way down

~           : open $HOME
ENTER       : open selected file
-           : go to parent dir

# FILE OPERATIONS

SPACE       : mark selected file
t           : run the :touch command, create a new file
d           : delete marked file
c           : copy marked file to active dir
m           : move marked file to active dir and mark the moved file
x           : toggle execute permission of the marked file
r           : run the :rename command, rename marked file

# MODES

:           : enter COMMAND mode
/           : enter SEARCH mode
?           : enter GREP mode

# MISC
.           : toggle the visibility of hidden files
o           : open a new $SHELL instance in the current directory
q           : quit the program

Commands

When in COMMAND mode press up/down to cycle through command history

# FILE OPERATIONS

:mark             : mark selected file
:copy             : copy marked file to active dir
:delete           : delete marked file
:move             : move marked file to active dir and mark the moved file
:rename ARGS      : rename marked file to the first argument
:touch ARGS       : create files passed as arguments, supports paths and can create nested directories

# MISC

:sort type|size|name|mod : set the sorting mode
:hidden [true|false]     : set the visibility of hidden files, leave empty to toggle
:linewrap [true|false]   : set the whether file preview should wrap lines, empty to toggle
:quit                    : exit the program

🔨 TODO

  • better binary recognition
  • better --help
  • opening files
  • file preview coloring
  • AUR package
  • fixing lag when scrolling through the file list
  • config file
  • image preview
  • list more features in the readme
  • minimal terminal size

❗ Project requirements

  • Filesystem navigation
  • Finding files by name, type, size, date
  • Current directory statistics - file count, combined size, biggest file
  • Export results to JSON/CSV
  • Colors:3
  • Logging user actions

Contributors