Neovim: Taking notes, zk-nvim ver. 6

Last Updated on July 31, 2022 by shibatau

An image was inserted in III.

I. Let’s take notes with Neovim

I have been using Obsidian as a note-taking tool. It is great and I’m satisfied with its functionalities. But I have recently begun to use Neovim as an editor and I’ve got fond of the Vim keybindings and commands. I want to use them anywhere. You can also use the Vim keybindings in Obsidian but it seems Obsidian lacks some Vim movements and commands. So I have sought for Neovim note-taking plugins and found zk-nvim. There are some other plugins for taking notes. As for Orgmode.nvim, I have often used Org Mode in Spacemacs and I like it but I want to use simpler markdown notes in Neovim and have given a try to zk-nvim.

I have spent a whole day for setting zk-nvim but I haven’t finished it yet and I don’t understand how to use it well. However I have managed to create a journal. I run the command, :ZkNew { group = “journal”, dir = “journal/daily” } and I have made my first entry. Voilà:

Let me show you another one. You can show your note via a internal link in a file:

II. Installation and settings


If you use MacOS, you can learn how to install Neovim here:

Neovim for MacOS


(a) Run the following command in the terminal if you have installed Homebrew.

brew install zk


(a) Add the following line to your config file. In my case I have added it to the plug.lua file. See my configuration files in the past post.


(b) Add the following line to the init.lua file.


You can learn more here:

(c) Create a new note in the terminal

Run the following commands in the terminal:

zk init my-notes
cd my-notes
zk new --title "My first note"

You can learn more here:

(d) Create a new note in Neovim

Open Neovim and run the following command:

:ZkNew { title = " This is the first note " }

There a few examples here:

III. Create a group for Journal

Let’s assume you create daily notes named like in a journal/daily, a journal/weekly or journal/arbitrarily subdirectories. You should create a note group overriding the default note creation settings.

paths = [
filename = "{{date now}}"
extension = "md"
template =""

You can learn more here:

Maintaining a daily journal

Then you should set up a template for your Journal. Create a file named as in .zk/templates like this:

# {{date now "long"}}
What did I do today/this week?

You can learn more here:

Template syntax

To be continued.

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.