The Holy Grail of Neovim Note Taking

DevOps Toolbox
29 Dec 202314:38

Summary

TLDRThe video discusses using Obsidian, a powerful local Markdown-based note taking application, alongside Neovim to enable frictionless capture, organization and editing of notes. It highlights Obsidian's linking, backlinks and git capabilities combined with Neovim's superior text editing abilities via Vim keybindings and plugins to create the ultimate productive environment for writing and managing information.

Takeaways

  • πŸ˜€ We are consuming massive amounts of information daily, overloading our brains which haven't evolved much in 20,000 years
  • πŸ‘Œ Note-taking is critical to process information and store it effectively in our brains
  • πŸ“ Markdown is the standard for technical writing and note-taking for its portability across systems
  • 🧠 Obsidian helps capture, organize and link notes to mimic how our brains work
  • ✏️ Obsidian's VIM mode brings frictionless text editing for efficient note-taking
  • πŸ”— Obsidian's linking of notes creates a powerful knowledge graph
  • πŸ€– Telescope + Obsidian VIM plugin enables robust note management from within Neovim
  • ⏳ Templating notes reduces friction and mental taxation when capturing ideas
  • 😌 Zen mode clears clutter for distraction-free writing
  • 🎢 Brain.fm provides functional music to enhance focus and creativity

Q & A

  • What is the equivalent amount of information the average person consumes daily according to the script?

    -The equivalent of 200 full-text newspaper pages.

  • What are some forms of information intake mentioned in the script?

    -YouTube videos, calls, texts, TV shows, podcasts, and any other content ingested by our brain.

  • Why is note-taking emphasized as crucial for engineers in the script?

    -Because engineers need to write documentation, team updates, task management, and other types of information, which helps in capturing knowledge efficiently.

  • What system is described for capturing and organizing notes in the script?

    -The system described is called Para, which is part of a methodology for capturing and organizing notes effectively.

  • Why did the speaker find Obsidian preferable over New York and Notion for note-taking?

    -Obsidian is preferred due to its Markdown support, local storage of information, extensive plugin system, and VIM integration, unlike New York's lack of a mobile interface and Notion's slowness, bad offline experience, and lack of control over data.

  • What unique features of Obsidian are highlighted in the script?

    -Markdown-based notes, local or custom storage, core and community plugins, follow-bit links, backlinks, metadata support, visual images, data science plugins, and git support.

  • How does the script describe the integration of VIM features into Obsidian?

    -Obsidian integrates VIM features like motions, VIM RC support, line numbering, and the ability to use VIM macros within its UI, providing a familiar environment for VIM users.

  • What are some of the notable plugins for Obsidian mentioned in the script?

    -Notable plugins include VIMRC support, a relative line number plugin, and git support for automatic commits and backups.

  • How is the concept of grid organization applied in Obsidian according to the script?

    -Grid organization in Obsidian allows for visual understanding of notes' relationships through central nodes and sub-notes, facilitating the creation of mind maps and organizational systems of knowledge.

  • What is the significance of the Para method mentioned in the script?

    -Para stands for Projects, Areas, Resources, and Archives, categorizing ongoing projects, life areas, information resources, and archived items to keep the structure organized and free of unnecessary notes.

Outlines

00:00

πŸ“š Embracing the Information Overload

The script begins by highlighting the overwhelming amount of information the average person consumes daily, equivalent to 200 full-text newspaper pages, spanning from YouTube videos to podcasts. This consumption challenges our ancient brain hardware, designed 20,000 years ago. The narrative moves on to discuss the importance of note-taking for processing, storing information, and learning, especially for engineers who deal with extensive documentation. The script references a book and its methods (CODE code and Para) for efficient note organization, emphasizing the necessity for a frictionless capturing system accessible across devices. The speaker shares their experience with New York for engineering notes, pointing out its limitations, and Notion for non-engineering tasks, critiquing its performance and data control issues. The script introduces Obsidian, a Markdown-based note-taking application, for its extensive features, plugins, and compatibility with VIM, highlighting its efficiency and ease of use.

05:05

πŸ”§ Tweaking Obsidian for Enhanced Productivity

In this segment, the speaker dives deeper into customizing Obsidian for personal use, detailing the integration of VIMRC for familiar command use, addition of plugins like git support for automatic hourly commits, and the setup of a synced workspace. The script touches on using VIM and Neovim (NVIM) for file management within Obsidian, utilizing plugins for auto-completion, linking notes, and managing markdown action items. The emphasis is on reducing friction in the note-taking process through templates and plugins that streamline capturing and organizing knowledge. The speaker also shares their approach to minimizing distractions by using Zen mode in Neovim, and recommends Brain a femme for focus-enhancing music. The concept of direct note creation in specific locations is introduced, highlighting the synergy between Obsidian and NVIM plugins for a seamless user experience.

10:11

🀝 Integrating Backlinks and Enhancing User Experience

The final part of the script focuses on Obsidian's feature of backlinks, which helps in navigating related notes, and underscores the importance of a user-friendly experience in note-taking. The speaker details their personal setup for a distraction-free environment using Zen mode and Twilight plugin in Neovim, alongside music from Brain a femme to aid focus. The script elaborates on the efficient use of templates to reduce decision-making friction during note capture, promoting a smoother knowledge capturing process. The speaker highlights the 'Para' method for organizing notes into projects, areas, resources, and archives, providing a structured yet flexible knowledge management system. Finally, the script wraps up with acknowledgments to the Obsidian and VIM community, and recommendations for learning and using Neovim, emphasizing the power of combining Obsidian with VIM for an optimal note-taking and knowledge management experience.

Mindmap

Keywords

πŸ’‘Obsidian

Obsidian is a Markdown based note taking application that stores information locally and provides useful features like backlinks and graph view to visualize connections between notes. The video praises Obsidian as an ideal note taking tool that combines frictionless capture of information with powerful organization.

πŸ’‘Vim

Vim is a popular command line text editor known for its keyboard-driven editing and powerful text manipulation capabilities. The video highlights Vim integration in Obsidian through plugins, allowing efficient text editing without mouse usage.

πŸ’‘Frictionless

Frictionless refers to the goal of making note taking require as little effort as possible so it can be done more consistently. Obsidian's features like templates and quick capture from Vim aim to reduce friction.

πŸ’‘Note-taking

Note-taking is the practice of capturing bits of information for later recall and usage. The video focuses on effective note-taking by using Obsidian and Vim together.

πŸ’‘Knowledge base

A knowledge base refers to an organized collection of information around particular topics that can be referred to later. Obsidian vaults allow building a personal, local knowledge base.

πŸ’‘Para

Para is a note-taking methodology mentioned in the video that involves categorizing notes into projects, areas, resources and archives for organized information.

πŸ’‘Plugin

Plugins are additional modules that extend the functionality of a software. Several Vim and Obsidian plugins are shown in the video to enable features like git integration and templates.

πŸ’‘Backlink

Backlinks refer to the list of other notes that link to the current note. Obsidian shows backlinks allowing visualization of connections.

πŸ’‘Telescope

Telescope is a Vim plugin powered by fuzzy finding to quickly search or select files, commands etc. The video demonstrates using Telescope in Vim to interact with Obsidian.

πŸ’‘Grid

Grid refers to the graph overview in Obsidian that shows all notes in a vault and the connections between them, based on backlinks. This allows visualization of the knowledge base.

Highlights

We need to write tons of documentation, updates, task management as engineers.

Managing information that can be linked is key for retaining knowledge.

Obsidian is a Markdown based note app that stores notes locally with plugins.

Obsidian offers backlinks to see what notes link to the current note.

The VIM mode for Obsidian provides motions and macros familiar to VIM users.

The community plugins extend Obsidian's capabilities significantly.

Git support provides version control and backup for Obsidian notes.

NVIM and the Obsidian plugin enable powerful workflows.

Templates reduce friction and decision fatigue when capturing notes.

Backlinks provide context by revealing related notes.

Focus features like Zen mode reduce distractions when writing.

Brain.fm provides functional music to enhance focus and creativity.

Note creation arguments allow placing notes directly in target folders.

Para method categorizes notes into projects, areas, resources, archives.

Obsidian and NVIM combine as a perfect productivity combo.

Transcripts

play00:00

According to a recent paper, the average person is consuming the equivalent of 200 full-text

play00:05

newspaper pages every day. Think of YouTube videos, calls, texts, TV shows, podcasts, and

play00:11

anything else ingested by our brain, which in all its glory is just hardware from 20,000 years ago.

play00:17

I just read this book right here for the second time. It doesn't mean that you have to,

play00:22

but here are the highlights. No taking is the best way to process this deal and store information.

play00:28

It's how people literally learn. As engineers, we need to write tons of it,

play00:32

documentation, team updates, task management, and whatnot. Another study found that our mind

play00:38

is basically capturing knowledge, kind of like an agreed system. So, managing bits of information

play00:43

that can be linked to one another is not only key for the present, but also for the future,

play00:48

combined with the methods in the book, which are CODE code and more specifically Para,

play00:54

which describes the system of capturing and organizing notes. This clarified a few things for me.

play00:59

I need it to be one as frictionless as possible, meaning it is a capture available anywhere

play01:05

on my phone, on my desktop, etc. And later too, it can be organized based on the methods

play01:10

in the book, plus the concept of grid organizations so I can fetch things based on links.

play01:15

I've been working with New York. The video is right here above for a couple of months to take

play01:20

all my engineering notes, but New York is still not 100% there. There's no mobile interface,

play01:25

things still break, and to be honest, while the format is visually great,

play01:29

Markdown is still the facto standard in the industry, so it can be processed by any system,

play01:34

application, platform, whatever is out there. For all my non-engineering stuff, I've been using

play01:39

notion for a very long while, and I tried maintaining my knowledge there, but beyond all issues

play01:44

like slowness and bad offline experience, lack of control also over my data, which is not just

play01:49

Markdown files. I've been moving out of VIM to write text in notion, and it's literally painful

play01:55

at this point. So there's one tool that answer all of the questions about and still holding tricks

play02:00

up its sleeve, and that would be obsidian. There's enough content out there covering what obsidian

play02:06

is, so I'll keep it brief. Obsidian is a Markdown based note taking application that stores your

play02:11

information locally or on a storage of your choice, with core or community based incredible plugins.

play02:17

Obsidian pages hold follow-bit links to other notes, as well as backlinks, you know,

play02:23

who links to the note that you're writing or what other notes. There's metadata support,

play02:28

visual images, data science plugins, and git support, it's really endless. So as a VIM user,

play02:34

you can get not only the motions, so you feel right at home, but also VIM RC support, line

play02:40

numbering with relative count, basically VIM in a notes app UI. But wait, it gets even better. There's

play02:46

a modern new VIM Lua plugin that offers all of the above and more. This is obsidian's UI,

play02:52

which is just a simple text editing UI on the surface. Starting a new note and typing away

play02:58

is easy as any other. However, when you start digging in, it starts revealing its powers.

play03:02

Let's look, for example, at this, my resources note, which is part of the parameter method,

play03:07

but more in that later. You'll note that this has what's called a front matter,

play03:12

which is basically just YAML with custom fields that I can set. This can be later used by

play03:16

various plugins for organization, linkage, and quick access. If I open the local grid,

play03:21

just for this note, it's easy to understand visually what obsidian is all about. I have this note

play03:26

as a central node, and then other notes link to it as sub-notes. Think of 100 of nodes attached

play03:32

in a single interest that I have decided to reread or research for a blog post or something.

play03:37

And this should give you the hint of the power of a mind map laid on top of an organizational

play03:42

system of knowledge. As for the text editing, while I can type away my thoughts as any other user,

play03:48

you'll quickly see something you don't get to watch every day. A note app with VIM motions.

play03:52

So I'd go into insert mode, either with I or with O for a new line, and start working like

play03:58

I'm using near VIM. There is key casting on the bottom left, so you'll see familiar keystrokes that

play04:02

you normally don't get away from VIM. This includes yanking, pasting, visual marks,

play04:06

deletions. You can of course repeat any command by prefixing the number of iterations,

play04:11

but it gets even better. It has VIM macros, so I can record a macro and have the UI signify

play04:17

I'm recording. And as a simple example, I'll just yank a line and paste it again with another

play04:22

blank line below. I can repeat it by calling the Q register, or just like in VIM,

play04:27

called the last register motion with add-at. Then, of course, visually marking a block and

play04:32

removing it is just as simple. Can you imagine discovering the best note-taking app in the world

play04:37

and not having that? Well, unfortunately, that's 99% of the cases, and I can't even imagine

play04:43

myself ever going back. Let's quickly hit command comma for the configuration menu and head over

play04:48

to the plugin section. There are core plugins from the team, but the more interesting group is

play04:53

under the community tab. While VIM is supported by default in the editor, you just have to toggle on

play04:58

the use VIM motions in the editor tab. Notable plugins I use from the community are VIMRC support,

play05:05

which lets me make changes to the editor. For example, I've been using JJ as my escape motion

play05:11

out of insert mode for years, and I like the binding to follow me. So with obsidian VIMRC,

play05:16

it's just one line away. Just turn on the plugin, tell it where the VIMRC file is, and that's

play05:21

pretty much it. I also added a relative line number plugin, because that's my VIM style, and for some

play05:26

reason it wasn't supported with VIMRC, but luckily the community do care of that, so there's a

play05:31

dedicated plugin. I also have git support that every hour commits my notes and pushes them to a private

play05:37

repo just for the extra piece of mind and additional backup measure. This is my obsidian vault

play05:41

with GitHub, and you'll see the hourly commits being pushed constantly. Git is a brilliant

play05:46

solution here, not only for the simple snapshot, but also since this is a git tree with sequential

play05:52

commits, I can go back to almost any point in time. The hour period, by the way, is just my configuration,

play05:57

you can just as well set it to every minute and increase the granularity. Let's fire up VIM,

play06:02

using my TMac session manager. If you haven't heard about that, it's a project I'm working on,

play06:06

and it's on GitHub, the link is below. I'll have the manager throw me to my NVIM config path,

play06:12

where I can add my plugin to lazy, and also add a small configuration file with my specific

play06:17

tweaks. I'll commit the changes, just to make sure that you have it on my dot files repo

play06:22

available when you see the video. This is a good place to mention git fugitive, which helps me

play06:26

speak to git from within VIM, and the video for that is linked above. So for obsidian setup,

play06:32

I've configured one workspace, which for me is a path of iCloud synced folder that also

play06:38

synced the files to my mobile app. The rest of the configuration is pretty much straightforward,

play06:42

and to be honest, I'm still not 100% done fixing it, as I like to adjust things over time

play06:48

when they make sense. Before going to NVIM, check out the local directory. Having all the

play06:53

marked on files saved on my machine is a refreshing concept when coming from something like

play06:58

Notion, or even Apple notes for that matter. Since this is a git repo, that's also pushed

play07:03

regularly to git hub, git status shows the recent automatic hourly commits. Now, here's where

play07:08

NVIM reveals its powers. With telescope, I can do anything. This starts with grabbing files,

play07:13

or in this case, other notes in my vault. If I search for the obsidian commands menu, I can run

play07:18

obsidian new to create a new note. When it's not given an attribute, the default just opens

play07:24

a new note with front matter, ready to go. This template comes with the plugin and supports

play07:28

a note-taking style named Zetel Custom. For more details about that, I'll link something below.

play07:33

It's a great method to get yourself familiar with, but I won't focus on this here now.

play07:38

Here's the real power of the plugin. Hitting open bracket triggers auto-completion for quick

play07:42

linking notes. Linking is what obsidian is all about. This is how you create and discover notes,

play07:47

while keeping an organized knowledge base. With auto-completion, that fuzzy finds any note is just

play07:52

a sweet and so frictionless addition that I smiled at the screen when seeing that for the first time.

play07:57

Here's another example of linking to a new note when it makes sense to link to a new atomic

play08:02

piece of information. The plugin tells me it's going to create a file and then I'm being notified

play08:07

that it did. If I quickly search for it, I can confirm it was placed correctly. By the way, if it

play08:12

wasn't clear until now, I can go back and forth using VIM jump lists, which is a great way to move

play08:17

around files or bits of information. When linking to an existing note, the link shows on the

play08:22

VIM and expands when the cursor hits it. This is where the following commands comes into play and is

play08:27

similar to clicking on a hyperlink. Another useful feature of obsidian's markdown is the way the

play08:33

plugin renders it when you create action items. If you've been using New York or watching my

play08:37

New York video, you may be familiar with the concept. So here it is and I love it. When creating

play08:43

an action item, it can stay empty or be marked as done with X inside the brackets. This would

play08:49

render it as a checked item, but with leader CH for check, items can be toggled on and off.

play08:55

Similarly, all other markdown features are rendered and even shown with different colors,

play09:00

which to be honest brings the experience closer to New York and making its visual appeal obsolete.

play09:05

This is the first time I'm using VIM to edit markdown and actually enjoying the process and the

play09:10

visual aspect of it. Another extremely important concept is templating. I recommend using the

play09:15

templator plugin for a better experience, but before showing what the plugin can do, here's a quote

play09:20

from the building a second brain book. Forcing yourself to make decisions every time you capture

play09:25

something adds a lot of friction to the process. This makes the experience mentally taxing and thus

play09:30

less likely to happen in the first place. So instead of making decisions each time and you notice

play09:35

created, templates provide the structure, leaving the mental resources to deal with the quality

play09:40

knowledge capturing. When you first configure the plugin in your VIM, you can set the templates

play09:44

folder and when using it with new VIM templates command, it opens a telescope finder where you can

play09:49

find templates that you've created earlier. When a template is picked, it's injected into the

play09:54

current working file. This is unbelievably useful for projects, meetings, planning, etc. Anything

play09:59

that has a templated structure and gets things going for your brain instead of having to recreate

play10:04

the same structure every time is a win for your quality of notes. Since links are the core of an

play10:10

obsidian vault and remembering the great thinking concept, when a note links to another, it's easy

play10:15

to see, but to see notes that are linked to the one that I'm working on, obsidian has the concept

play10:20

of backlinks. Just as in the app, the plugin can show a quick fixed list of existing backlinks

play10:25

that links to the specific document. This can be collapsed and expanded when their title is hit,

play10:30

but hitting the name itself will open the linking notes in a new buffer. This is a great way

play10:34

to go about things when capturing notes, reminding yourself of other relevant bits of information,

play10:39

and even more so when coming back to notes to research a topic or find something you're trying

play10:44

to remind yourself of. Up until now, it's been all about technical usage of features. I want to

play10:49

touch upon something that is just as important, maybe even more crucial. User experience.

play10:54

The quote mentioned earlier about friction is close to my heart. When writing text,

play10:59

creating something out of thin air, I believe it's important to cancel any destruction. To do that

play11:04

with Neovim, I use Zen mode. Zen mode is a modern version of an older plugin called Goyo, and that's

play11:09

written in Lua and provides a quiet workspace free of clutter. It's usually combined with a twilight

play11:15

plugin that highlights the paragraph that's been written or coded at the moment. I've also

play11:19

configured to remove Neovim's Lua line and Tmix status bar, as well as narrow the margins so I

play11:25

can focus specifically on the text. Another tip I use to focus while writing is using the

play11:30

right music. After many years of winging it using YouTube and other music apps, I can cross-brain

play11:36

a femme. Brain a femme is an award-winning functional music, which is perfect for your brain.

play11:41

You choose the type of activity, whether deep focus or a creative bout. Even if you're feeling

play11:46

sleepy, set the femme and let brain a femme take care of the rest. You can test it for free,

play11:50

and if you sign up using this link, you also get a 20% off. So go ahead and try Brain a femme today.

play11:57

Another unique feature that removes friction is the ability to create notes directly in a

play12:01

location of preference. Obsidian and VIM can take not only a title of a note as an argument,

play12:07

but also its path. So for example, if I create a template slash my name or file,

play12:12

it'll be placed in the templates folder, so I don't have to worry about it later.

play12:16

With the Obsidian open command, the open buffer is opened with the Obsidian UI,

play12:21

where the file was properly placed under the templates subdirectory. This brings me back to the

play12:26

plugins author comment on how new VIM plug-in complements Obsidian, rather than replacing it.

play12:32

There's great features for both, and they work amazing alongside one another.

play12:36

I want to take a moment and shed some light on the parameter that I've been mentioning

play12:40

more than a few times. Para stands for projects, areas, resources, and archives, which simply

play12:46

put our four categories to manage ongoing projects, areas of life, resources of information,

play12:51

and then archived items for all of the above that keeps structure free of garbage notes,

play12:56

while still not to rethink any history. Here are my captured resources, shown on the map

play13:01

Obsidian created from the links and backlinks I have in my notes. It's still very much a

play13:05

working progress, but hopefully soon enough, I'll be able to share more information and experience

play13:10

with note-taking in new VIM that also covers work with engineering notes, diagrams,

play13:15

flow charts, etc. So grid thinking, quick note-taking, combined with VIM's great editing powers,

play13:20

and of course, new VIM's plugins, which are the cherry on top, create the perfect productive

play13:25

combo in my mind. Not only I can create and reread notes and thoughts, they're at the palm of my

play13:30

hand, and with VIM being second nature to me, I don't ever have to have the friction of editing

play13:35

with my mouse or slowly making editing changes in a, I don't know, Google Doc like app. My mind is

play13:40

100% focused on the task of capturing knowledge and storing it, so I contacted the creator of Obsidian

play13:46

and VIM to thank him and ask whether he had a message to the world, which he did. So Pete says,

play13:52

I would like to say that I love new VIM GitHub community. It's a pleasure being part of that,

play13:57

and I'm very happy a lot of people have found my plugin useful. On a personal note, thank you Pete

play14:02

for creating such an amazing layer between a great note-taker and an amazing text editor.

play14:07

Like I said, the perfect combo, and so a user without the perfect understanding of VIM motions

play14:12

or new VIM's plugin setup would be lacking a lot of the benefits mentioned here. So exactly

play14:16

for that, I have these two must-watch videos, the secret to learning new VIM for a new way to

play14:21

remembering motions by heart, and then knowing lazy, the smoothest, fastest package manager that

play14:26

removes hassle and brings plugins closer to you. Thank you for watching, and I'll see you on the next one.