Skip to content

Instantly share code, notes, and snippets.

@BaseCase
Created September 19, 2017 17:43
Show Gist options
  • Save BaseCase/c45299e4f8474119881d708a4b728fbf to your computer and use it in GitHub Desktop.
Save BaseCase/c45299e4f8474119881d708a4b728fbf to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
set -e
main() {
previous_file="$1"
file_to_edit=`select_file $previous_file`
if [ -n "$file_to_edit" ] ; then
"$EDITOR" "$file_to_edit"
main "$file_to_edit"
fi
}
select_file() {
given_file="$1"
fzf --preview="cat {}" --preview-window=right:70%:wrap --query="$given_file"
}
main ""
@rudchenkos
Copy link

Thank you Casey for the idea and the nice article which led me to this script.

As a tribute, I can suggest a simplification. Since version 0.10 fzf supports --bind with execute:

alias fuz=fzf --preview="cat {}" --preview-window=right:70%:wrap --bind 'enter:execute($EDITOR {})'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment