Features:
- full-text search with semantic ranking (FTS5)
- fuzzy search --fzf
(CTRL-O: copy to clipboard, CTRL-E: edit, CTRL-D: delete, Enter: open)
- tags for classification
- knows how to open HTTP URLs, directories, files (e.g. Office, Images, ....)
- can execute URI strings as shell commands via protocol prefix: 'shell::'
URI-Example: shell::vim +/"## SqlAlchemy" $HOME/document.md
- automatically enriches URLs with title and description from Web
bkmr search --fzf
is a great way to quickly find and open bookmarks.
To fully use bkmr
's full-text query power see: https://www.sqlite.org/fts5.html (chapter 3).
```bash bkmr --help
A bookmark manager for the terminal
Usage: bkmr [OPTIONS] [NAME] [COMMAND]
Commands: search Searches Bookmarks open Open/launch bookmarks add Add a bookmark delete Delete bookmarks update Update bookmarks edit Edit bookmarks show Show Bookmarks (list of ids, separated by comma, no blanks) tags Tag for which related tags should be shown. No input: all tags are printed create-db Initialize bookmark database help Print this message or the help of the given subcommand(s)
Arguments: [NAME] Optional name to operate on
Options:
-c, --config
```bash
bkmr search 'security "single-page"' bkmr search '"https://securit" *' bkmr search '^security' bkmr search 'postgres OR sqlite' bkmr search 'security NOT keycloak'
bkmr search -t tag1,tag2 -n notag1
bkmr search -e tag1,tag2
bkmr search -T tag1,tag2 -O
bkmr add /home/user/presentation.pptx tag1,tag2 --title 'My super Presentation'
bkmr add "shell::vim +/'# SqlAlchemy' sql.md" shell,sql,doc --title 'sqlalchemy snippets'
bkmr update -t py $(bkmr search -t sa --np)
bkmr update -n git $(bkmr search -t gh --np)
bkmr search --json ``` Tags must be separated by comma without blanks.
cargo install bkmr
bkmr create-db db_path
Location of created sqlite database must be known:
bash
export "BKMR_DB_URL=db-path"
You can set (not required) this variable to change --fzf
mode default options:
bash
export "BKMR_FZF_OPTS=--reverse --height 20% --show-tags"
Currently available flags:
- --reverse
(defaults to false): show input line on top and reverse alphabetical order
- --height
(defaults to 50%): screen usage of current terminal
- --show-tags
(defaults to false): show tags
Found: 1 343
real 0m0.501s user 0m0.268s sys 0m0.070s
time bkmr search 'zzz*' --np 1. zzzeek : Asynchronous Python and Databases [343] https://techspot.zzzeek.org/2015/02/15/asynchronous-python-and-databases/ async knowhow py
real 0m0.027s user 0m0.008s sys 0m0.016s ``` sysid blog: bkmr