fsel
(stands for Folder Select) is a Text User Interface (TUI) program to easily navigate the folders of your project(s) in the terminal.
Conceptually, UI of fsel
is similar to Mac's finder
app: selected folders are shown next to each other.
fsel
is intended for navigation inside your project, it is not intended to navigate the entire file system.fsel
auto-detects the root folder of your project: if there is a directory.git
, or.svn
, then it's the root of your project.fsel
memorizes history of your navigation in the project; later it, suggests folders that you have recently visited.
- Run
python3 setup.py install
orpython3 setup.py install --user
. - Run
source key_bindings.bash
to add key bindings. - Put
source /path/to/key_bindings.bash
to your.bashrc
to persist these key bindings.
Ctrl-Alt-Space
: run selected executableAlt-Z
: run one of the recent executablesAlt-Shift-Z
: insert the full path of one of the recent executables into command line
Alt-X
: cd into the selected directoryAlt-Shift-X
: cd into a recent directory
Ctrl-]
: insert the relative file path into command lineAlt-]
: insert the full file path into command lineAlt-Shift-]
: insert the relative file path from the root into command lineCtrl-Alt-]
: insert the full path of one of the recent files into command line
Ctrl-G
: insert the relative path to folder into command lineAlt-G
: insert the full path to the folder into command lineAlt-Shift-G
: insert the relative path to folder from root into command lineCtrl-Alt-G
: insert the full path of one of the recent folders into command line
Escape
: exitEnter
: navigate (cd) to the currently selected folderUp
,Down
: select another sub-folder in the selected folderLeft
,Right
: select sub-folder or parent folderHome
,End
: select folder at the beginning or the end of the current pathTab
: navigate (cd) to the end of the current pathShift-Tab
: navigate (cd) to the root folder- Type to search for a file or folder
Alt-Up
,Alt-Down
: go to the previous/next search match
Type to search in the currently selected folder. If there are matches, then
Alt+Up
: go to the previous matchAlt+Down
: go to the next matchAlt+PageUp
: go to the first matchAlt+PageDown
: go to the last matchBackspace
: erase last character of the search termDelete
: cancel search
The file ~/.fsel_history
contains the list or project roots and keeps navigation history for the folder under these roots.
It has the following format:
{
"/path/to/root/of/project1": { ... },
"/path/to/root/of/project2": { ... }
}
Add the roots of your projects to this file to keep navigation history for them.