Tab completion using fzf
fzf-tab-completion erweitert die Tab Auto-Complete Funktion der Shell, indem die Ergebnisse, die durch die Tastenkombination Tab+Tab
hervorgerufen werden, durch den fzf Filter durch geleitet wird. Dies ermöglicht z.B. bei einer großen Menge an Programm-Optionen diese schnell zu durchsuchen und auszufiltern.
Zudem bietet fzf-tab-completion Unterstützung für Shell Aliase, sodass auch die Tab-Completion für Aliase funktioniert. Dies wird dadurch erreicht, dass ein Alias auf den Hauptbefehl aufgelöst wird, und von diesem die Auto-Complete Optionen abgerufen werden. Somit wurde der Alias config='git
' auf die Auto-Complete Optionen von dem Befehl git
abrufen wenn config Tab+Tab
gedrückt wird.
Installiere das fzf-tab-completion-gitAUR Paket.
Aktivieren und Binden von fzf-tab-completion in der Bash Shell an die Tab Taste:
source /path/to/fzf-tab-completion/bash/fzf-bash-completion.sh bind -x '"\t": fzf_bash_completion'
Siehe Github Projektseite für alle Konfigurationsmöglichkeiten.
Es gibt 2 Umbegnungsvariablen die das normale Tab+Tab
Auto-Complete verhalten steuern können. Um z.B. das gewohnte verhalten nachzuahmen. Bis es zur nächsten Uneindeutigkeit:
export FZF_COMPLETION_AUTO_COMMON_PREFIX=true export FZF_COMPLETION_AUTO_COMMON_PREFIX_PART=true
Aktiviert fzf-tab-completion in der Bash shell auser in vscode
und immitiert das normale Tab+Tab
verhalten der Bash bis zur nächsten uneindeutigkeit. Danach setzt der fzf Filter ein um das Ergebnis zu filtern.
fzf_tab_complition_config() { local _fzf_bash_completion="/usr/share/fzf-tab-completion/bash/fzf-bash-completion.sh" if [[ -f "${_fzf_bash_completion}" && "${TERM_PROGRAM}" != "vscode" ]]; then source "${_fzf_bash_completion}" bind -x '"\t": fzf_bash_completion' export FZF_COMPLETION_AUTO_COMMON_PREFIX=true export FZF_COMPLETION_AUTO_COMMON_PREFIX_PART=true fi } fzf_tab_complition_config