ENTRY

[ESC]
3h610 words1 reply

LazyVim

As seen on my blog.

My favorite text editor has become the Linux terminal. NeoVim is now my home. After I installed LazyVim it became the best code editor I have ever used. There is a possible next step, EMACS, but I haven't gotten there yet. On top of that, my preferred shell is now Ghostty. I was using Konsole, but splitting the terminal into multiple windows is GUI-driven in that program. With Ghostty, I configured keybindings to create new panels and switch between them. Now, my development experience is purely keyboard-driven. If you want to see how I configured it, maybe even suggest changes, it's available here.

When I'm using the keyboard, I feel deeply connected to my computer. It is the method that has had the most staying power over the years of constant technological progress. I know that when my fingers are moving across the keyboard, I am being productive. Taking seconds to switch my right hand to the mouse and then back to the keyboard reduces efficiency. It interrupts my thinking and forces me to find where I need to move the mouse to complete an action. If I can do everything by pressing a button in the place where my fingers already are, then it usually happens within milliseconds.

There is a slight learning curve to using NeoVim. There are no hints on the screen telling you how to use it, but that is also why I like it so much. Vim does not get in your way while you're using it. It's just you and the text; you have to learn the keybindings on your own (however, LazyVim does add plugins which give you more instructions after pressing space). Editing text itself becomes a skill that can be learned; as I've gotten more familiar with certain shortcuts, I'm able to perform them much faster. Searching for text in a file was once something I had to, well, search for online, but now it is just instinct.

Using nvim has even encouraged me to use the keyboard to navigate my entire computer more often. While I'm programming, I try to use alt+tab to switch between windows to keep my hands on the keyboard; thus, I'll stay more focused and productive. My browser of choice, Zen, has many keyboard shortcuts as well. If I could, I would switch my desktop environment to Niri. The keyboard is basically required to navigate Niri; the mouse's usefulness is limited only to the applications that require it. For now I will stay on KDE, as it does what I need it to do and it's probably better suited for gaming.

The one thing that can be finicky about NeoVim, more specifically LazyVim, is the plugins. It's the worst feeling when you start programming and the formatter or the tailwind autocomplete isn't working. Then, you have to start troubleshooting that instead of your own code. Before I denounced AI, I used OpenCode to fix my plugins for me. It's something that's hard to find how-to's for, but it's helped by the fact that you can just download someone's nvim configuration and start using it, no manual plugin configuration required.

So, if you would like to try transitioning away from a GUI-based IDE and embrace the terminal, you can download my LazyVim configuration here. If you're on Linux, install NeoVim with your package manager, place this folder in ~/.config/ and it should work once you run nvim in the terminal. It has plugins for Vue, tailwind, rust and python, among other default plugins and formatters. Alternatively, you can install the base LazyVim configuration on their website, which I linked at the beginning.

1 reply

Log in to read the replies and join the conversation