complete-ng
bash/zsh Tab completion nextgen with interactive/search menu
features
- replace bash/zsh completion multiple choices output by interactive selector menu
- browse directories inside the menu
- view/edit files directly from the menu
- single Tab on command line displays choices
- launch menu from empty command line with Tab to browse files/directories
install
You can use a shell plugin manager like the famous thefly (multi shell plugin/dotfiles manager and teleporter anywhere)
fly add joknarf/complete-ng
or just
git clone https://github.com/joknarf/complete-ng
source complete-ng/complete-ng.plugin.<yourshell>
for a complete next-gen shell experience, see also this project:
- joknarf/shell-ng : compilation of joknarf shell plugins which includes
- joknarf/nerdp : dynamic PS1 prompt (you can see it in the demo)
- joknarf/complete-ng : Tab completion nextgen (this plugin)
- joknarf/redo : replacement of shell history command search (CtrlR or Esc/) with interactive menu
- joknarf/seedee : directory history navigation with arrows + interactive menu
demo
file/folder icons
As depending to your terminal font, the icons may not render correctly, you can choose the icons you want using environment variables, here are some sample of dir/file icons, choose the ones fitting your terminal font (use nerd version of your font to have more choice):
SELECTOR_FOLDER_ICON='' # 🖿 🗀 📁 📂 🖿
SELECTOR_FILE_ICON='' # 🗎 🗋 🖹
keys in menu
| key | action |
|---|---|
| ▼ | select next item |
| ▲ | select prev item |
| End | select last item |
| Home | select first item |
| ▶ | browse selected directory |
| ◀ | browse parent directory |
| F3 | view file using PAGER (or less) |
| F4 | edit file usint EDITOR (or vi) |
| Shift▼/PgUp/CtlF | next page |
| Shift▲/PgDn/CtlB | previous page |
| Esc | exit |
| CtrlA | use all screen to display menu |
| Enter/Tab | put selected item on command line |