Why Neovim nerds are so obsessed with the terminal

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I started using neovim around 2 years ago and it is slowly absorbing my entire workflow I think the fundamental way that neovim works its way into your brain is that it makes you realize how powerful fast and flexible working with the terminal can be and soon enough you want to do everything in the terminal the key aspect for me is not that it allows me to do things faster but that it makes me feel in control it feels like my tools are working with me not getting in my way and it keeps me in a flowlike state more often it can be hard to communicate exactly why people are so obsessed with neovim when from the outside it just looks like unnecessary work pain and suffering it's going to be different for different people of course but I've been making some improvements to my workflow lately and I realized as I was working on it that this is a perfect example of why I like neovim and the terminal so much and so I'm going to share that story with you in this video so the story starts with my note taking and organization system which I'm not really going to cover in this video but in in brief it's basically a combo of the David Allen getting things done method and a zedal cting system but the important part for context is that I have this in folder that acts as my Inay anything that pops into my mind that I think I might want to remember for later goes into here it might just be random thoughts or ideas or it could be some chore or errand that I need to address or absolutely anything else it gets taken out of my mind and into the in folder and then it is dealt with and categorized later if necessary the process I had before my recent optimizations was decent enough let's say I'm doing some work in the greatest front-end framework in existence and I suddenly think of some potential refactor for my open source utility I'm using t-o so I could quickly switch to my notes session which would already have my notes folder open in neovim I'd open my in folder create a new file and either put all the context of the thought into the title or if necessary create a title and then open it up and add any additional context required I could then quickly switch back to what whatever it was I was doing not bad not too disruptive but I had an idea to make it a lot better and to do that I would need to write a little CLI program I had also just started learning go so it seemed like a good opportunity for some practical experience so I said about creating a go program but of course I'd already forgotten how to do that but that's fine because I can just easily utilize my neovim powered note system I can hit leader FF on my keyboard to find files in my notes fuzzy find for the term go and I can open up the note I had recently sted Ed on go this note is broken down into multiple Atomic notes and thanks to the Marksman LSP I have in neovim I can easily follow these links to the other notes I have linked where I can then refresh my memory on how to create a new go project so I get underway and now we get into the fun bit where I use chat GPT in neovim to help me write a go program that interfaces with chat GPT so that I can more easily utilize chat GPT to make taking notes easier in my neovim note taking system that's a very convolution Ed way to say that I want to create a command that I can pass a note and I want chat GPT to automatically create a summarized title for that note for me so I need to make a request to the open AI platform with my chat GPT key which I have stored in my one password and I can access that with the one password C the problem is that I don't know how to execute a CLI command in go and utilize the result so I use my neovim configuration to ask chat GPT for an example I can then yank its response and for easy reference I can split a buffer to the right of my screen by running V new and I can paste the response there this is part of what I really like about having as much of my workflow in the terminal as possible I was able to quickly do all of this without ever having to leave the terminal or even lift my hands away from the keyboard so I use chat gpt's example to implement the functionality I wanted but it wasn't quite right I wasn't sure where things were going wrong so I made use of another one of the Neo VM chat GPT plugin features fix bugs a nice workflow here is to commit what you currently have then run fix bugs which as the name suggests will have chat GPT fix whatever it thinks are bugs in your code now if I open up lazy git I can easily browse through the changes that chat GPD has made for learning purposes I personally would recommend dropping the changes and implementing the solution yourself I do worry that there is a line to toe here around using chat GPT to accelerate your learning and using chat GPT in a way that just makes it feel like you're learning so now I could successfully readin my API key from one password and again I was able to do this entire process without ever leaving the terminal and without ever having to take my hands off the keyboard to quickly show the general workflow once more the next thing I needed to figure out was how to create and use a struct in go to represent the data I would need to create the note in the file system ultimately so I asked chat GPT for an example of creating and using a struct and go I open a split window or if I still had the previous window up I would just use that I paste in the response and now I can reference that example as I would work then it was just a matter of following a similar process to finish the program so that it can accept input which will take whatever I give it as the body of the note and use chat GPT to make an Autos summarized title for it throughout this process I try to use chat GPT as little as possible and when I do I generally prefer to ask for generic examples rather than getting it to write the specific implementation for me and so after building the go program and setting it up in my bin folder I can now easily use it from anywhere I can just hit colon bang type in followed by the note I want to create and then an ampersand so that the task can just run in the background whilst I continue with my work the program will handle creating the note in my notes folder for me and it will also generate an Autos summarized title for it as well so all I have to worry about is just what I want to make a note of this reduces the friction of creating a note to almost zero and it's not just about saving maybe 20 seconds or so it keeps me in the flow of whatever I was already doing and it makes creating the note feel Pleasant rather than feel feeling like an irritating chore and being able to optimize your workflow to this degree isn't the only benefit either the fact that neovim and the terminal tend to push you down this self-configuration path you end up learning more outside of what you typically code in on a day-to-day basis in this case I had a chance to use go in a practical setting and in general I've learned a lot about a bunch of Technologies I wouldn't typically use all of which can help me optimize my workflow even more and potentially benefit me in other settings so I brought up a range of topics in this video so I'll link to some more resources in the description if you like this video consider dropping a like or subscribe before you go and I hope to see you back here [Music] again
Info
Channel: Joshua Morony
Views: 30,597
Rating: undefined out of 5
Keywords: tutorial, tutorials, coding, coding tutorials, angular, angular tutorials, mobile, mobile apps, apps, html5, ios, android, hybrid, web apps, progressive web applications, programming, performance, ui, ux, animations, screencast, rxjs, nx, ngrx, architecture, signals, advanced
Id: 5wy2iLU5fs0
Channel Id: undefined
Length: 6min 44sec (404 seconds)
Published: Wed Feb 21 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.