#!/bin/sh ignore='-not -path "*/.*/*"' while test $# != 0 do case "$1" in -h) unset ignore ;; --) shift; break ;; *) break ;; esac shift done if [ -f "$1" ] then $EDITOR $1 else file=$(sh -c "find . $ignore -type f" | fzf -m -1 -q "$*") if [ "$?" -eq 0 ] then echo "$file" | xargs -d '\n' $EDITOR fi fi