nvim-journal is a small plugin to provide a convenient way to create and manage journals in Neovim.
- Manage multiple different journals
- Support for different journal frequencies for each journal
- Support for custom frequencies
- Optional templates to apply when creating or updating journal entries
- Autogenerated index to organize and link to all the journal entries
Install with vim-plug:
Plug 'Nedra1998/nvim-journal'
or with packer.nvim:
use { 'Nedra1998/nvim-journal' }
or with lazy.nvim:
{ 'Nedra1998/nvim-journal' }
require('nvim-journal').setup({
default = nil,
journals = {
["journal"] = {
path = "~/Documents/Journal",
frequency = "daily",
filename = "%Y-%m-%d.md",
template = {
create = "# %a %b %d %T %Y\n\n",
update = "## %H:%M\n\n",
},
index = {
filename = "README.md",
header = "# Journal Index\n\n",
sort = "descending",
entry = "%Y-%m-%d",
sections = {
"## %Y", "### %B, %Y"
},
},
},
})
For a complete list of available configuration options see :help nvim-journal-configuration.
Each option is documented in :help nvim-journal.OPTION_NAME
. Nested options
can be accessed by appending .
., for example :help nvim-journal.journals.frequency
.
nvim-journal does not create any key bindings, all interaction with the plugin is through the user commands or through the lua API.
See :help nvim-journal-commands.
Command | Description |
---|---|
:JournalOpen {date} [journal] |
Open a journal at a specific date |
:JournalCurrent [journal] |
Open a journal for the current entry |
:JournalNext [journal] |
Open the next journal entry |
:JournalPrevious [journal] |
Open the previous journal entry |
:JournalIndex [journal] |
Open the journal index |
:JournalGenerateIndex [journal] |
Generate/Update the index for the journal |