bkmr
Ultrafast Bookmark Manager and Launcher
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
- manages statistics about bookmark usage
bkmr search --fzfis 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).
Usage
)
)
Examples
# FTS examples (https://www.sqlite.org/fts5.htm)
# FTS combined with tag filtering
# Match exact taglist
# Search by any tag and sort by bookmark age ascending
# Give me the 10 oldest bookmarks
# Adding URI to local files
# Adding shell commands as URI
# Bulk updating bookmarks: all bms with tag 'sa' also get tag 'py'
# Bulk updating bookmarks: all bms with tag 'gh' should have 'git' removed
# JSON dump of entire database
Tags must be separated by comma without blanks.
Installation
cargo install bkmr- initialize the database:
bkmr create-db db_path - add URLs
Configuration
Location of created sqlite database must be known:
FZF Customization
You can set (not required) this variable to change --fzf mode default options:
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
Benchmarking
- ca. 20x faster than the Python original twbm after warming up Python.