In my following article, I want to tell you why i switched from an IDE (Integrated Development Environment) to a PDE (Personalized Development Environment)
I started programming when i was 16 and i was the script kiddo (still same <3). I used VSCode and windows everyday for programming . The junky bloated electron app always ate my memmory and made my programming sessions worse.
Then, I saw some guy's YouTube video on his workflow setup. The way he navigated through his code and tabs just made me go wow. But i had no idea about what these guys are using except that, I knew that he was using linux. Later i get to know that he was using something called vim and which is a efficient text editor and it focuses more on make coding and writing faster by eliminating the need of mouse. I planned to give it a try because of my potato pc and VScode.
But to be honest, I was a heavy mouse user. I heavily relied on the mouse for switching tabs, browsing the internet, and programming. Switching between tabs in windows and finding the right one was the worst. It felt like a nightmare. I had to decide where to go from the list of applications when I press ALT+TAB. Also I didn't have any previous experience with Linux other than just using it inside a virtual machine for 30 minutes. The next day I made the best decison in my life, I installed Linux Mint as my primary operating system and started my Linux journey. Fast forward to today, here are the major changes that happened to me.
1 Text Editing
Speaking of programming in VSCode, I didn't remember many shortcuts,
except for Ctrl+P, Ctrl+F, and Ctrl+Shift+F. I know there are a few
more, but the editor itself didn't compelled me to use them. I was so lazy
that I even opened the definition of a function by clicking the function
name with Ctrl pressed, rather than just reading the docs and pressing F12.
I know that this sounds like a real skill issue but most of the people i know
using VScode are same as mine. They dont learn these shortcuts when they can
use mouse
I switched from VSCode to Vim and can confidently say that Vim has become an
integral part of my programming toolkit. The initial learning curve was steep,
but the investment in mastering Vim's commands paid off exponentially.
Tmux + Treesitter + telescope + harpoon + LSP is all you need to get started. It
made my programming more fun, and it's nice to have a little hobby of setting up
your own configs, plugins, etc. Also, most importantly, I can now say "I USE
NEOVIM BTW" to my friends 🗿 (Oh wait i dont have one to say that)
2 Window Management
The window manager is—just like the name describes—a window manager. It controls
the positioning of windows, their look and feel, etc. I use dwm, which has
transformed the way I interact with applications and manage windows. Here, I
follow a general rule while launching applications. Like Firefox goes to the 1st
tab. Similarly, Discord in 8th, etc. So there is no unnecessary mess going on. I
know exactly where I should go, no more decision-making from a large list of
applications.
3 Browsing
I use Firefox browser with the Vimium plugin enabled. It provides keyboard
shortcuts for navigation and control in the spirit of Vim, which also increases
my muscle memory with Vim 😉. I highly recommend this plugin for those who wish
to jump to Vim from VSCode or other editors. But it is just a plugin; it has
many limitations. I strongly believe that a new browser incorporating proper Vim
motions has the potential to become a highly successful product.