 I have a very weird note taking situation and mainly that is because I take notes in multiple places. And while there are some very good cross platform note taking applications, none of them really work well for me. I'm not a very conformative person. I don't want to just want to use the thing that everybody else uses and just live with that. Now I have done that in the past, but I just like I don't care for Evernote. I don't want to use it. I don't really care for Joplin. It's always pretty slow on the Linux side. I don't want to use simple note or whatever it's called. I have always kind of want to bake my own thing. And even if I use someone else's like script or whatever, I don't want it to be so overly complicated and bloated that I can't get my work done or it just distracts me. So I have kind of cobbled together two different things that I use for note taking. One of them is VimWiki, which I've talked about on the channel before. VimWiki is very good, but it is a very siloed application. It can really only exist on my computer. And even then, it can only really exist on one computer because syncing my directory where all of my VimWiki files are is a bit of a mess simply because when I first started using VimWiki, I wasn't the most organized people. And it's all just kind of shoved in one directory and getting that synced to somewhere else and then having it look for changes. It's not impossible. I could use syncing for it, but it's not the easiest. The other thing that I use to take notes is Google Keep. Now for obvious reasons, I hate the fact that I use this thing and I actually use it fairly rarely simply because I don't like it. And really the only reason why I do use it is simply because I can use it on my phone fairly simply and it just syncs to the web and I don't have to worry about backing it up when I change phones or whatever. So I've been on the hunt for something different, something that can kind of take over for both of these imperfect solutions. And I really haven't found one until now and I wanted to talk about that today. So I've found an application called NB, the letter N, the letter B. And basically what this is is a terminal based note taking application that supports a ton of stuff. I mean, it literally supports a ton of stuff. And I'm going to go through some of the stuff today so you can kind of get a sense of what this thing can do. But I won't be able to cover everything because we'd be here for, you know, three or four hours. So I want to jump into this and show you what NB can do. So NB, like I said, is a terminal based application. Now you're probably wondering, Matt, how does this solve your cross platform problems? Well, by itself, it doesn't, although it possibly could because it does have a get syncing capability. But what I've been doing is I set up sync thing and then I've been syncing it to my phone using sync thing and then just opening up with a Markdown editor on my phone. It's been working really well. And it's not, it doesn't use the weird Markdown syntax that VimWiki uses. And it doesn't do the whole dot wiki extension that VimWiki uses. So it makes it much easier for me to sync between my computer and my phone using sync things. So that's what I've been doing there. And like I said, it's been very, very easy. So let's just take a look at what NB actually looks like really quick. So obviously, like I said, this is a terminal based application. So by itself, if you just ran NB, it's going to show you the list of notes that you have. Now I've deleted all my other notes, I'll move them away so that you don't see all my notes. But overall, it's just very simple. If you've never created a note, you'll see a sort of help page that will come up that will show you the shortcuts that you need to know in order to create notes and stuff like that. And that doesn't actually go away. It shows you what those commands are here at the bottom. So you get NB, NB add, NB URL, NB edit, so on and so forth. So let's just say I wanted to create a note. So I would do NB add note dot md. Now one of the coolest things about this is that it's done inside of your favorite text editor. So if you're a VIM guy, you can use VIM. If you are a nano person, you can use nano. If you are an Emacs person, you can use Emacs. It uses your default editor, whatever your editor variable is set as, that's the editor that it will use, which is just like I said, it's very nice. And if you're used to using VIM or whatever, being able to take notes right here like that is a supreme experience and it solves the problem of me leaving VIM wiki for this because I like using VIM wiki inside of VIM. This is also inside of them. So it's not really like I'm losing anything by doing this. So I can add my notes. This is a note and then I can save it. Now if I were to run NB again, you can now see I have another entry into my list here with a number next to it. Now you're probably wondering what the number is about. Number is the note ID. If I wanted to edit that note, I would do NB edit and then the index number. So in this case would be three. It takes me back here. I could do this is another while that's supposed to be one word there Matt line of this note and I could save it saving quit like so. And now it would just if I still did NB again, it wouldn't actually say anything that has changed because the ID is going to still be the same. But I know now that I've edited that note. So if that's really all you wanted, you could just kind of stop there. But NB does so much more. But before we jump into that, let me show you where it's stored. So all of your notes are stored by default in your home directory under a hidden directory called NB. So if I CD into NB, and there's a director here called home. And if we do an LS here, this is where you're going to find all of your taking notes. Now you can set environment variables to change where the NB directory is located. So if you want to change that, so it's not in your home directory. If you're one of those guys like me who really don't want to have all of this stuff crammed in your home directory, you can change that if you want to. It's fairly simple. And because this all the stuff is just marked down, you can move this stuff, sync it to wherever you want it to go. And it will follow you if you want to, or you can just save it here. And it's not as if it's buried, you know, like inside of a somewhere in your path or something like that. It's just here in your home directory, very easy to get to. So now let's go ahead and talk about some of the other features, because there are a ton of features. So first of all, if you are the organized type, you can organize your notes by notebook and tags. So you can create a new notebook by doing NB notebooks, add, and then the title of the notebook. So notebook one. So if I do NB again, it will actually show me that I'm in the home notebook. If I wanted to switch to notebook one, I would have to do NB use notebook one. Now if I do an NB again, you'll see that notebook one is highlighted and I'm now in a new hope, a new notebook. And also, as you can see, there are no notes here. So let me run this again without anything else on the screen. There are not there are no items in this notebook. So if I did it and be add again, this is just going to create a note with a random generated name. So you can see the date here along with I believe probably the time stamp here. It's definitely the date and I can just do this is a note in note book one. Oops, not no queue like so. There we go. Now I can say this now if I did NB again, it will show you that I have that note inside of notebook one. And like I said, you can also do tags. You can do tags very easily. So let's just create a new tag or a new note here by doing something and be add and then the title. So we'll just do dash dash title this time because if you're going to use tags, you need to use the flag dash dash title like so and we'll just do this title and then we will do dash dash tags and then it's a comma separated values. So tag one, tag two, like so. And you can actually see that it's added the title and the tags to the document. So if you wanted to add tags inside of the document, you would do so like that. Now what I'm still a little fuzzy on because I've only been using this for a couple of days is what's the difference between a tag and a heading because if as you can see my markdown editor or my markdown plugin recognizes those as headings, that's the reason why the colors like they are. So they're also tags, but they're also heading. So that's a little bit confusing. I don't know what happens if you use a H2 tag. So tag three, maybe I don't know if that would actually work or not. We're going to find out. So if we wanted to list all the tags, we do NB list dash dash tags like so, and it would just list those tags. So now we can see that that second that heading to didn't show up as a tag. So now I know exactly how that works. I don't use heading twos all that often. That's the reason why I didn't know. So tags and notebooks, those are both very important. If you're going to mess around with creating notes, like most note-taking applications have those functionalities. Now, one of the problems that this particular program has, if you are going to sync between devices, is that notebooks and tags don't do a really good job of transferring over to another device, especially if you're not going to be using NB on that device. So the best way to get past that is simply to continue your syncing. So you have all your NB stuff here and then stick to your phone or whatever. And then you write and mark down on your phone. If you were to use the tagging syntax, like I just showed you in a note, you could import those back into NB using the import function. So there is an import function. It's used for more than just importing notes. You can import notes, but you can also import documents and pictures and everything into a notebook if that's what you want it to do. So the NB, so it looks like this NB import. I can't actually type like that. And then you would give the path to the thing that you want to import, whether that's another markdown document, which would then be treated as a note or an image or a Word document or whatever. Anything can be imported into the notebook that you're using. One key point here, and just kind of to go back to the notebooks thing, if you are going to use notebooks, especially if you're going to use multiple notebooks, what you're going to want to do is ensure you always run NB first. That way you can see what notebook you have active. So you can add your notes to the appropriate places. Otherwise you could potentially find yourself adding notes to the wrong notebook. Now you can add notebooks or you can add notes specifically to a notebook that's not active. You can do that. There's a flag for that. So if you if I wanted to add a note to the home notebook, I could do that, even though notebook one is the one that's active right now. You could do that. Now, in addition to all the stuff that I've talked about before, like I said, there's a lot of stuff here and I'm only going to cover a few more things. NB also supports to do's tasks, linking bookmarks and many other things. So let's just take a look a little bit at to do's. So to do's are added very similar to notes. So you'd use NB to do add and then the title of the dude to do so make NB video like so and like that. And now if we did an LS here, oops, not an LS. That's not what I was looking for. If we did an NB here, we'd actually see my to do inside of this notebook. So if you wanted to create another notebook that specifically for to do's, you could do that or you could intermingle them with all the other notes. It doesn't really matter, but it does show you that that is a to do because it has the brackets here and the check mark. So it denotes that it is a to do. So you can also add a due date to this. If you want by using the dash dash do flag, DUE flag, you can also add a description by using the dash dash description tag or flag, I should say. And then if you want to get even more complicated about it, each to do can have a task. So let's just go ahead and create another to do. So it's NB to do add. And then we create the title of the task or the excuse me, the title of the to do. So make NB video to was just called that. That's fine. And then we'll do dash dash task and then record dash dash task. Edit like so. And now if we did a NB again, it's just going to list the name of the task or excuse me, they did a really bad job of naming those because I, for whatever reason, thinks tasks and to do are exactly the same thing. So I'm going to mess that up quite a bit. So if I wanted to show the tasks under that to do, what I would do is do NB and then show. And then number four in this case, that's the ID there along the side and then dash dash print. Well, that wasn't even close to where my fingers are supposed to be. Like so dash dash print like so. So it would show me the tasks under this to do are record and edit. So obviously you can also mark your to do as done. So you do NB and then do. So this is the way you would do a task and then you'd give it the ID. So I'm going to give this as number three. And now if I do an NB here, it will show me that number three has been completed. Now you can also undo that using NB undo in order to, you know, make that task mark undone again if you wanted to do that. And because these are parts of notes, you can also use tags. You can also put them in different notebooks. However you want to organize them, you can do that. And if you wanted to just list all of your to do is just do NB to do is open like so. And that would list all the open to do is if you want to list all the closed ones, we just do closed like so. And that shows all the ones that are already completed. You can obviously also just show all of your to do is both open and close just by doing NB and then to do is like so that list all of them, whether they were closed or open. So that's the to do and that's the tasks. Now, like I said, there is a lot more and I could I could say here for another 20 minutes and talk through all this stuff because there's still bookmarking that I could talk about. There's removing tasks and moving them to different notebooks and all this stuff. Now, the greatest thing about all of this is that there is a fantastic amount of documentation that explains all this stuff. And I'll link to that in the video description below because like I said, I didn't even scratch the surface of the amount of stuff that NB can do. I didn't even talk about get sync. So it has the capability to sync to a public or private get repository. So and it's very easy to use. So you can use that in order to synchronize between different devices. If you wanted to, you could use that for collaboration with a team. If you wanted to use NB to collaborate with a team, you could all synchronize to the same repository if you wanted. You could do that. So I didn't even talk about that. And I could have spent a while talking about that as well. So NB is like I said, really, really good. And if you are looking for a full featured note taking application inside of the terminal that has the ability to expand outside of the terminal just because it's just using Markdown, you can use NB for that. And like I said, it is it is really, really good. And I'm having a ball with it, honestly. I've added probably 30 or 40 notes just in the last couple of days. I've transferred all of my stuff from Vemwiki into NB. And it's just it's really, really good. So all of the links to NB and the documentation will be in the video description. So if you have thoughts on NB, you can leave those in the comment section below. I'd love to hear from you. You can follow me in Massadon or Odyssey. Those links will be in the video description. You can support me on Patreon at patreon.com slash the Linux cast links to support me on YouTube and Liberapay will be in the video description as well. Thanks to everybody who does support me on Patreon and YouTube, because you're all absolutely amazing. Well, the channel just will not be anywhere near where it is right now. So thank you so very, very much. If you haven't subscribed yet, I normally put this at the beginning of the video, but if you haven't subscribed yet, hit the subscribe button because seriously, this content is awesome. So thanks to everybody who does support me on Patreon and YouTube. You guys are all absolutely amazing. Again, I kind of got me entered there in the middle. So thanks everybody for your support. Thanks everybody for watching. I'll see you next time.