Quick Command-line File Completion
qfc is a shell auto-complete alternative which features real-time multi-directories matching: It provides results while you type against files in the current directory and its sub-directories.
This is useful, to avoid the burden of writing the whole path whenever you want to cd
or vim
a file, which is frequent especially if you use the terminal as your IDE(The terminal is the best IDE, remember! :-) ).
git clone https://github.com/pindexis/qfc $HOME/.qfc
[[ -s "$HOME/.qfc/bin/qfc.sh" ]] && source "$HOME/.qfc/bin/qfc.sh"
Ctrl-f
: complete the word under cursor using qfcTAB
: Append the selected match to the current path.ENTER
: Append the selected match to the current path and returns the result.Ctrl-f
: Returns the current path.Arrow keys
: Navigation between files.If you're using zshell or Bash 4.3+, You can combine qfc with commands you frequently use to get one key-stroke experience. For example, I have the following lines in my .zshrc:
qfc_quick_command 'cd' '\C-b' 'cd $0'
qfc_quick_command 'vim' '\C-p' 'vim $0'
This allows me to switch directories by just pressing Ctrl-b(or editing a file by pressing Ctrl-p).
qfc_quick_command
expects an id
, a shortcut
, and a command with $0
placeholder(which will be replaced with the completion path).
It's recommended to choose a 2-5 length letters only id
(else you may encounter issues).
Also, be careful with what keyboard shortcuts to choose(mapping some keys can prevent the terminal from working correctly).