FZF, un aliat integrat în Terminal

Următorul lucru pe care-l fac după instalarea și configurarea Zsh, Oh My Zsh și Powerlevel10k, este să instalez fzf, un utilitar multiplatformă incredibil de util pentru a localiza rapid în terminalul Linux fișiere și comenzi anterioare.

FZF în Terminalul Linux

Pentru a reutiliza rapid una dintre comenzile anterioare introduse în terminal, se apasă combinația de taste Ctrl+R. Fzf va afișa, după cum poate fi observat și în screenshot-ul de mai sus, o listă a comenzilor recente. Pentru a alege una dintre acestea, ne vom folosi de tastele de navigare și Enter.

În plus, putem filtra rezultatele cu ajutorul unui termen de căutare. De exemplu, pentru a vedea doar comenzile care includ cuvântul „nano”, după introducerea acestuia vom apăsa Ctr+R, iar fzf va afișa doar comenzile anterioare care-l conțin.

Recuperare comandă cu FZF

Pentru reutilizarea comenzii selectate, apăsăm Enter.

Dacă dorim ca fzf să afișeze o listă a tuturor fișierelor din folderul accesat vom folosi combinația de taste Ctr+T. Și de această dată rezultatele vor putea fi filtrate folosind termeni de căutare, prin tastarea integrală sau parțială a acestora.

Lista fisiere filtrată cu FZF

Pentru integrarea în zsh, urmați instrucțiunile de aici. Iar dacă doriți să-l aveți configurat așa cum îl am eu, introduceți în ~/.zshrc următoarele:

if [ "$1" = "h" ]; then
fzf -m --reverse --preview-window down:20 --preview '[[ $(file --mime {}) =~ binary ]] &&
echo {} is a binary file ||
(bat --style=numbers --color=always {} ||
highlight -O ansi -l {} ||
coderay {} ||
rougify {} ||
cat {}) 2> /dev/null | head -500'

else
fzf -m --preview '[[ $(file --mime {}) =~ binary ]] &&
echo {} is a binary file ||
(bat --style=numbers --color=always {} ||
highlight -O ansi -l {} ||
coderay {} ||
rougify {} ||
cat {}) 2> /dev/null | head -500'
fi
}

function rmk(){
scrub -p dod $1
shred -zun 10 -v $1
}
#FZF better search
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
#export FZF_DEFAULT_COMMAND='fd --type f --hidden'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

Alte informații și exemple, precum și instrucțiuni de instalare pentru distribuția Linux pe care o utilizați găsiți pe pagina oficială. Fzf dispune și de versiuni compatibile cu Windows și macOS, însă nu l-am folosit în niciunul dintre acestea.

Faci un comentariu sau dai un răspuns?

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.