#!/usr/bin/env bash # TODO: # -- browse tags: # --bind "ctrl-t:unbind(change)+enable-search+preview[echo 'match: {}']+reload[rg --no-filename --only-matching '(^|\B)#\w+' | sort | uniq]" \ # - vim function to follow wiki links # - search both title and content set -euo pipefail notesdir=${NOTES:-~/notes/notes} cd "$notesdir" RG="rg --ignore-case --files-with-matches" RG_VIEW="rg --no-line-number --color=always --ignore-case --pretty --context 5" EDITOR="vim --cmd 'set wrap'" DATEFMT="+%Y.%-m.%-d" fzf \ --ansi \ --disabled \ --header="alt+: 0=view 1=search 2=tags 3=outline 4=backlinks" \ --header-first \ --delimiter : \ --with-nth 1 \ --bind "ctrl-/:change-preview-window(90%|down|hidden|)" \ --bind "change:reload:$RG {q} || true" \ --bind "enter:execute($EDITOR {})" \ --bind "alt-enter:execute($EDITOR {q}.md)" \ --bind "ctrl-space:execute($EDITOR $(z-edit-daily))" \ --bind "ctrl-r:replace-query" \ --bind "ctrl-t:unbind(change,alt-enter)+change-prompt(title> )+enable-search+clear-query" \ --bind "pgdn:preview-page-down" \ --bind "pgup:preview-page-up" \ --bind "alt-0:preview:bat -p --color always {}" \ --bind "alt-1:preview($RG_VIEW {q} {})" \ --bind "alt-2:preview:rg --only-matching '(^|\B)#\w+' {}" \ --bind "alt-3:preview:rg --only-matching '^[#]+ .*$' {}" \ --bind "alt-4:reload:rg -lF \$(tr -d '.md' <<< {+}) || true" \ --preview "$RG_VIEW {q} {}"