#!/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 "" |
I added in-script file creation.
#!/usr/bin/env bash
# Modified from https://gist.github.com/BaseCase/c45299e4f8474119881d708a4b728fbf
# by Aaron Lichtman -- https://github.com/alichtman
# notes.sh
#
# A script for quickly editing your notes. Allows creation of new files by
# selecting CREATE_NEW_FILE at the menu. Depends on the $NOTES environment
# variable being set.
set -e
new_file_creation_option="CREATE_NEW_FILE"
main() {
cd "$NOTES"
touch "$new_file_creation_option"
previous_file="$1"
file_to_edit=$(select_file "$previous_file")
if [ -n "$file_to_edit" ] ; then
if [ "$file_to_edit" == "$new_file_creation_option" ] ; then
read -p "Enter a new file name: " file_to_edit
touch_create_parent "$file_to_edit"
fi
rm "$new_file_creation_option"
"$EDITOR" "$file_to_edit"
main "$file_to_edit"
fi
cd -
}
touch_create_parent() {
mkdir -p "$(dirname "$1")" && touch "$1"
}
select_file() {
given_file="$1"
fzf --preview="cat {}" --preview-window=right:70%:wrap --query="$given_file"
}
# Hook SIGINT to clean up
trap cleanup EXIT INT TERM
function cleanup () {
rm "$new_file_creation_option"
}
main ""
I added in-script file creation.
@alichtman awesome! :)
Also awesome is that apparently GitHub now includes Gist comments in its Notification page, which I think is new.
https://github.com/alichtman/fzf-notes
I've fleshed this out into a more complete note taking tool and thought I'd share. It now supports multiple notebooks.
Hey @alichtman that's really cool! I'll have to pull down your tool and try it out later today :)
Thanks to this amazing idea, I created this small script to manage notes in the Zettelkasten method, using fzf, the silver searcher and bat.
Thanks to this amazing idea, I created this small script to manage notes in the Zettelkasten method, using fzf, the silver searcher and bat.
the link to your project is dead
the link to your project is dead
Fixed it @SamDc73, thanks for the heads up!
Add the two CD commands to wrap around the main func so you could call this from anywhere and have fzf only ever index the $HOME/notes dir