A terminal tool to manage papers and books you read using a single TOML file and vim. Group your papers into status on reading, planning etc, by genres and easly grep them and edit them in vim.
- Install dependency:
pip install tomlkit - Configure path:
Create
~/.config/bibtms/config.tomland add:
bib_path = "~/path/to/your/bib.toml"- Make scripts executable:
chmod +x bibtms bibtms.py- Add to PATH:
Add the script folder to your
.bashrcor.zshrc.
bibtms— Open the whole database in vim.bibtms -fzf— Search by title and open one paper.
usage: bibtms.py [-h] [-o] [--genres] [--list-genres] [--grep GREP] [--key KEY] [--add]
options:
-h, --help show this help message and exit
-o, --open Open raw bib.toml
--genres Browse by genres (Read-Only)
--list-genres Print unique genres
--grep GREP Filter by string
--key KEY Open specific key
--add Add new template
- Editing: When you run a command, it opens a temporary file in Vim. Change whatever you want and save/exit (
:wq). - Deleting: Delete the entire
[Key]block in Vim to remove a paper. - Git: If your bibliography folder is a Git repo,
bibtmsautomatically commits and pushes your changes every time you close Vim.
[Bengio2003]
title = "A Neural Probabilistic Language Model"
rating = 9
abstract = "A classic paper that introduced neural word embeddings and the use of feed-forward neural networks for language modeling."
status = "Completed"
read_count = 2
cited_in = ["DeepLearningReview"]
url = "https://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf"
genres = ["NLP", "Deep Learning", "Word Embeddings"]
read_time = "90m"
bibtex = """
@article{Bengio2003,
author = {Bengio, Yoshua and Ducharme, R{\\'e}jean and Vincent, Pascal and Jauvin, Christian},
title = {A Neural Probabilistic Language Model},
journal = {Journal of Machine Learning Research},
volume = {3},
pages = {1137--1155},
year = {2003}
}
"""