====== fzf-tab-completion ====== **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. ===== Installation ===== ==== Arch Linux ==== [[aw>Install|Installiere]] das [[aur>fzf-tab-completion-git]]**AUR** Paket. === Bash === 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' ===== Konfiguration ===== Siehe Github [[https://github.com/lincheney/fzf-tab-completion|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 ===== Nüztliche Funktionen ===== 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 ===== Siehe auch ===== * [[https://github.com/lincheney/fzf-tab-completion|Github Projektseite]] * [[https://www.suletuxe.de/forum/index.php?board=18;action=display;threadid=1019|Suletuxe Forum - Diskussionsthread]]