The Holy Grail of Neovim Note Taking

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
According to a recent paper, the average person is consuming the equivalent of 200 full-text newspaper pages every day. Think of YouTube videos, calls, texts, TV shows, podcasts, and anything else ingested by our brain, which in all its glory is just hardware from 20,000 years ago. I just read this book right here for the second time. It doesn't mean that you have to, but here are the highlights. No taking is the best way to process this deal and store information. It's how people literally learn. As engineers, we need to write tons of it, documentation, team updates, task management, and whatnot. Another study found that our mind is basically capturing knowledge, kind of like an agreed system. So, managing bits of information that can be linked to one another is not only key for the present, but also for the future, combined with the methods in the book, which are CODE code and more specifically Para, which describes the system of capturing and organizing notes. This clarified a few things for me. I need it to be one as frictionless as possible, meaning it is a capture available anywhere on my phone, on my desktop, etc. And later too, it can be organized based on the methods in the book, plus the concept of grid organizations so I can fetch things based on links. I've been working with New York. The video is right here above for a couple of months to take all my engineering notes, but New York is still not 100% there. There's no mobile interface, things still break, and to be honest, while the format is visually great, Markdown is still the facto standard in the industry, so it can be processed by any system, application, platform, whatever is out there. For all my non-engineering stuff, I've been using notion for a very long while, and I tried maintaining my knowledge there, but beyond all issues like slowness and bad offline experience, lack of control also over my data, which is not just Markdown files. I've been moving out of VIM to write text in notion, and it's literally painful at this point. So there's one tool that answer all of the questions about and still holding tricks up its sleeve, and that would be obsidian. There's enough content out there covering what obsidian is, so I'll keep it brief. Obsidian is a Markdown based note taking application that stores your information locally or on a storage of your choice, with core or community based incredible plugins. Obsidian pages hold follow-bit links to other notes, as well as backlinks, you know, who links to the note that you're writing or what other notes. There's metadata support, visual images, data science plugins, and git support, it's really endless. So as a VIM user, you can get not only the motions, so you feel right at home, but also VIM RC support, line numbering with relative count, basically VIM in a notes app UI. But wait, it gets even better. There's a modern new VIM Lua plugin that offers all of the above and more. This is obsidian's UI, which is just a simple text editing UI on the surface. Starting a new note and typing away is easy as any other. However, when you start digging in, it starts revealing its powers. Let's look, for example, at this, my resources note, which is part of the parameter method, but more in that later. You'll note that this has what's called a front matter, which is basically just YAML with custom fields that I can set. This can be later used by various plugins for organization, linkage, and quick access. If I open the local grid, just for this note, it's easy to understand visually what obsidian is all about. I have this note as a central node, and then other notes link to it as sub-notes. Think of 100 of nodes attached in a single interest that I have decided to reread or research for a blog post or something. And this should give you the hint of the power of a mind map laid on top of an organizational system of knowledge. As for the text editing, while I can type away my thoughts as any other user, you'll quickly see something you don't get to watch every day. A note app with VIM motions. So I'd go into insert mode, either with I or with O for a new line, and start working like I'm using near VIM. There is key casting on the bottom left, so you'll see familiar keystrokes that you normally don't get away from VIM. This includes yanking, pasting, visual marks, deletions. You can of course repeat any command by prefixing the number of iterations, but it gets even better. It has VIM macros, so I can record a macro and have the UI signify I'm recording. And as a simple example, I'll just yank a line and paste it again with another blank line below. I can repeat it by calling the Q register, or just like in VIM, called the last register motion with add-at. Then, of course, visually marking a block and removing it is just as simple. Can you imagine discovering the best note-taking app in the world and not having that? Well, unfortunately, that's 99% of the cases, and I can't even imagine myself ever going back. Let's quickly hit command comma for the configuration menu and head over to the plugin section. There are core plugins from the team, but the more interesting group is under the community tab. While VIM is supported by default in the editor, you just have to toggle on the use VIM motions in the editor tab. Notable plugins I use from the community are VIMRC support, which lets me make changes to the editor. For example, I've been using JJ as my escape motion out of insert mode for years, and I like the binding to follow me. So with obsidian VIMRC, it's just one line away. Just turn on the plugin, tell it where the VIMRC file is, and that's pretty much it. I also added a relative line number plugin, because that's my VIM style, and for some reason it wasn't supported with VIMRC, but luckily the community do care of that, so there's a dedicated plugin. I also have git support that every hour commits my notes and pushes them to a private repo just for the extra piece of mind and additional backup measure. This is my obsidian vault with GitHub, and you'll see the hourly commits being pushed constantly. Git is a brilliant solution here, not only for the simple snapshot, but also since this is a git tree with sequential commits, I can go back to almost any point in time. The hour period, by the way, is just my configuration, you can just as well set it to every minute and increase the granularity. Let's fire up VIM, using my TMac session manager. If you haven't heard about that, it's a project I'm working on, and it's on GitHub, the link is below. I'll have the manager throw me to my NVIM config path, where I can add my plugin to lazy, and also add a small configuration file with my specific tweaks. I'll commit the changes, just to make sure that you have it on my dot files repo available when you see the video. This is a good place to mention git fugitive, which helps me speak to git from within VIM, and the video for that is linked above. So for obsidian setup, I've configured one workspace, which for me is a path of iCloud synced folder that also synced the files to my mobile app. The rest of the configuration is pretty much straightforward, and to be honest, I'm still not 100% done fixing it, as I like to adjust things over time when they make sense. Before going to NVIM, check out the local directory. Having all the marked on files saved on my machine is a refreshing concept when coming from something like Notion, or even Apple notes for that matter. Since this is a git repo, that's also pushed regularly to git hub, git status shows the recent automatic hourly commits. Now, here's where NVIM reveals its powers. With telescope, I can do anything. This starts with grabbing files, or in this case, other notes in my vault. If I search for the obsidian commands menu, I can run obsidian new to create a new note. When it's not given an attribute, the default just opens a new note with front matter, ready to go. This template comes with the plugin and supports a note-taking style named Zetel Custom. For more details about that, I'll link something below. It's a great method to get yourself familiar with, but I won't focus on this here now. Here's the real power of the plugin. Hitting open bracket triggers auto-completion for quick linking notes. Linking is what obsidian is all about. This is how you create and discover notes, while keeping an organized knowledge base. With auto-completion, that fuzzy finds any note is just a sweet and so frictionless addition that I smiled at the screen when seeing that for the first time. Here's another example of linking to a new note when it makes sense to link to a new atomic piece of information. The plugin tells me it's going to create a file and then I'm being notified that it did. If I quickly search for it, I can confirm it was placed correctly. By the way, if it wasn't clear until now, I can go back and forth using VIM jump lists, which is a great way to move around files or bits of information. When linking to an existing note, the link shows on the VIM and expands when the cursor hits it. This is where the following commands comes into play and is similar to clicking on a hyperlink. Another useful feature of obsidian's markdown is the way the plugin renders it when you create action items. If you've been using New York or watching my New York video, you may be familiar with the concept. So here it is and I love it. When creating an action item, it can stay empty or be marked as done with X inside the brackets. This would render it as a checked item, but with leader CH for check, items can be toggled on and off. Similarly, all other markdown features are rendered and even shown with different colors, which to be honest brings the experience closer to New York and making its visual appeal obsolete. This is the first time I'm using VIM to edit markdown and actually enjoying the process and the visual aspect of it. Another extremely important concept is templating. I recommend using the templator plugin for a better experience, but before showing what the plugin can do, here's a quote from the building a second brain book. Forcing yourself to make decisions every time you capture something adds a lot of friction to the process. This makes the experience mentally taxing and thus less likely to happen in the first place. So instead of making decisions each time and you notice created, templates provide the structure, leaving the mental resources to deal with the quality knowledge capturing. When you first configure the plugin in your VIM, you can set the templates folder and when using it with new VIM templates command, it opens a telescope finder where you can find templates that you've created earlier. When a template is picked, it's injected into the current working file. This is unbelievably useful for projects, meetings, planning, etc. Anything that has a templated structure and gets things going for your brain instead of having to recreate the same structure every time is a win for your quality of notes. Since links are the core of an obsidian vault and remembering the great thinking concept, when a note links to another, it's easy to see, but to see notes that are linked to the one that I'm working on, obsidian has the concept of backlinks. Just as in the app, the plugin can show a quick fixed list of existing backlinks that links to the specific document. This can be collapsed and expanded when their title is hit, but hitting the name itself will open the linking notes in a new buffer. This is a great way to go about things when capturing notes, reminding yourself of other relevant bits of information, and even more so when coming back to notes to research a topic or find something you're trying to remind yourself of. Up until now, it's been all about technical usage of features. I want to touch upon something that is just as important, maybe even more crucial. User experience. The quote mentioned earlier about friction is close to my heart. When writing text, creating something out of thin air, I believe it's important to cancel any destruction. To do that with Neovim, I use Zen mode. Zen mode is a modern version of an older plugin called Goyo, and that's written in Lua and provides a quiet workspace free of clutter. It's usually combined with a twilight plugin that highlights the paragraph that's been written or coded at the moment. I've also configured to remove Neovim's Lua line and Tmix status bar, as well as narrow the margins so I can focus specifically on the text. Another tip I use to focus while writing is using the right music. After many years of winging it using YouTube and other music apps, I can cross-brain a femme. Brain a femme is an award-winning functional music, which is perfect for your brain. You choose the type of activity, whether deep focus or a creative bout. Even if you're feeling sleepy, set the femme and let brain a femme take care of the rest. You can test it for free, and if you sign up using this link, you also get a 20% off. So go ahead and try Brain a femme today. Another unique feature that removes friction is the ability to create notes directly in a location of preference. Obsidian and VIM can take not only a title of a note as an argument, but also its path. So for example, if I create a template slash my name or file, it'll be placed in the templates folder, so I don't have to worry about it later. With the Obsidian open command, the open buffer is opened with the Obsidian UI, where the file was properly placed under the templates subdirectory. This brings me back to the plugins author comment on how new VIM plug-in complements Obsidian, rather than replacing it. There's great features for both, and they work amazing alongside one another. I want to take a moment and shed some light on the parameter that I've been mentioning more than a few times. Para stands for projects, areas, resources, and archives, which simply put our four categories to manage ongoing projects, areas of life, resources of information, and then archived items for all of the above that keeps structure free of garbage notes, while still not to rethink any history. Here are my captured resources, shown on the map Obsidian created from the links and backlinks I have in my notes. It's still very much a working progress, but hopefully soon enough, I'll be able to share more information and experience with note-taking in new VIM that also covers work with engineering notes, diagrams, flow charts, etc. So grid thinking, quick note-taking, combined with VIM's great editing powers, and of course, new VIM's plugins, which are the cherry on top, create the perfect productive combo in my mind. Not only I can create and reread notes and thoughts, they're at the palm of my hand, and with VIM being second nature to me, I don't ever have to have the friction of editing with my mouse or slowly making editing changes in a, I don't know, Google Doc like app. My mind is 100% focused on the task of capturing knowledge and storing it, so I contacted the creator of Obsidian and VIM to thank him and ask whether he had a message to the world, which he did. So Pete says, I would like to say that I love new VIM GitHub community. It's a pleasure being part of that, and I'm very happy a lot of people have found my plugin useful. On a personal note, thank you Pete for creating such an amazing layer between a great note-taker and an amazing text editor. Like I said, the perfect combo, and so a user without the perfect understanding of VIM motions or new VIM's plugin setup would be lacking a lot of the benefits mentioned here. So exactly for that, I have these two must-watch videos, the secret to learning new VIM for a new way to remembering motions by heart, and then knowing lazy, the smoothest, fastest package manager that removes hassle and brings plugins closer to you. Thank you for watching, and I'll see you on the next one.
Info
Channel: DevOps Toolbox
Views: 267,961
Rating: undefined out of 5
Keywords:
Id: 5ht8NYkU9wQ
Channel Id: undefined
Length: 14min 38sec (878 seconds)
Published: Fri Dec 29 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.