| --- | --- | --- | --- |
| boom | sh | SMPlayer | Play random music from dir (modify `PLAYER`) |
| checksum | sh | md5sum,<br>sha256sum | Create and verify checksums |
-| fzy-edit | sh | fzy | Fuzzy find a file in directory subtree and edit in vim |
-| fzy-open | sh | fzy | Fuzzy find a file in directory subtree and open using xdg-open |
+| fzy-open | sh | fzy, xdg-open | Fuzzy find a file in dir subtree and edit or xdg-open |
| getplugs | sh | wget | Update plugins |
| hexview | sh | xxd | View a file in hex in `$PAGER` |
| imgresize | sh | [imgp](https://github.com/jarun/imgp) | Resize images in directory to screen resolution |
+++ /dev/null
-#!/usr/bin/env sh
-
-# Description: Fuzzy find a file in directory subtree with fzy and edit in vim
-#
-# Shell: POSIX compliant
-# Author: Arun Prakash Jana
-
-vim "$(find -type f | fzy)"
#!/usr/bin/env sh
-# Description: Fuzzy find a file in directory subtree with fzy and open using xdg-open
+# Description: Fuzzy find a file in directory subtree with fzy
+# Opens in $VISUAL or $EDITOR if text
+# Opens other type of files with xdg-open
#
# Shell: POSIX compliant
# Author: Arun Prakash Jana
-xdg-open "$(find -type f | fzy)" >/dev/null 2>&1
+entry="$(find -type f | fzy)"
+
+case "$(file -biL "$entry")" in
+ *text*)
+ "${VISUAL:-$EDITOR}" "$entry" ;;
+ *)
+ xdg-open "$entry" >/dev/null 2>&1 ;;
+esac