Blog/2024-02-23/fzf: Difference between revisions

From Rest of What I Know
No edit summary
Added page description via AutoDescriptor bot
 
Line 34: Line 34:
[[File:20240223-fzf-preview.gif|thumb|alt=The fzf pipeline above being used to list three different folders and how many entries they have|fzf being used to preview something]]
[[File:20240223-fzf-preview.gif|thumb|alt=The fzf pipeline above being used to list three different folders and how many entries they have|fzf being used to preview something]]


{{#seo:|description=The author showcases the versatility of the fzf fuzzy-finder tool, demonstrating its use for Git branch selection, multi-branch deletion, and file previewing}}


[[Category:Blog]]
[[Category:Blog]]

Latest revision as of 07:52, 30 August 2025

fzf is a fuzzy-finder on the terminal. I use it for all sorts of stuff.

Selecting a git branch:

gco() {
  branch="$(git branch | grep -v '^\+' | fzf | tr -d '[:space:]' | sed 's/^\*//')"
  if [[ -z "$branch" ]]; then
    echo "No branch selected"
    return 1
  fi
	git checkout "$branch"
}
A GIF of the script above in use, selecting a branch, and deleting another
fzf in action for adding and removing git branches

You can also select multiple rows if you like

gbd() {
  branches=$(git branch | fzf --multi | sed 's/^\*//' | sed 's/\s*//')
  git branch -D ${branches}
}

And if you want a preview, you can get one too:

ls | fzf --preview 'ls -l {} | wc -l'

I admit I do use it with kubectl config use-context but side-effects will occur.

The fzf pipeline above being used to list three different folders and how many entries they have
fzf being used to preview something