blob: 408282804b1cb11327f11f65bd41b6fb9d7c7b26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/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} {}"
|