DEV Community

Cover image for 🚀 Crafting My Developer Workflow: VSCode, Vim, and Zsh
Mahafuzur Rahaman
Mahafuzur Rahaman

Posted on

🚀 Crafting My Developer Workflow: VSCode, Vim, and Zsh

“Imagine waving your hands like a conductor, and all the instruments play exactly what you want. That’s the feeling I chase every day in my workflow.”


As a developer, you know the grind. Hours staring at code, switching between files, terminals, documentation, and the browser.
I’ve spent years—PHP, Laravel, WordPress—building things, shipping features, debugging mysteries that only emerge on production. And honestly? My workflow used to be
 chaotic.

I’d open VSCode, jump between files, repeat tasks for every file, type the same commands in terminal, hunt for extensions, and tweak settings for hours. Sometimes, it felt like I was working harder on my tools than on the code itself.

So, I decided: enough is enough. I needed a workflow that would feel like music, where everything follows my rhythm.


🧰 Step 1: VSCode — More Than an Editor

Let’s get one thing straight: VSCode is already powerful. You’ve probably used it, tried to tweak it, installed extensions, mapped some shortcuts, maybe even felt like you could get more. That’s exactly where I started.

I didn’t reinvent the wheel. Instead, I:

  • Fine-tuned shortcuts for navigation, file operations, splits, multiple cursors, rename/copy/paste/delete.
  • Automated repetitive tasks, so I spend less time on mundane actions.
  • Optimized editor behavior — line numbers, relative lines, minimap, mouse-wheel zoom, word wrap, cursor style — little tweaks that make long coding sessions smoother.

All these changes might seem small individually, but together they create a flow state: you move fast, think less about the tools, and more about your code.

⚡ Pro tip: You don’t need to memorize everything. Start with basics, then gradually adopt more shortcuts as they become intuitive.


Minimal. Clean. Focused.

Ever opened VSCode or an IDE and felt like you were staring at Photoshop on steroids? Too many panels, toolbars, icons, and options screaming for attention. That’s distraction. That’s wasted mental energy.

I stripped it all down. No clutter. Only what matters.

  • Tabs hidden, activity bar minimized, and tree view clean.
  • Vim keybindings that let me navigate, edit, and manipulate code without touching the mouse.
  • Terminal, Zsh, and shell tools integrated seamlessly.

At first, it’s a bit overwhelming. Shortcuts everywhere. Muscle memory required. But that’s the point: you’re training your brain to think faster, navigate faster, and code faster.

Within a few weeks, what felt hard became second nature. And suddenly, I was a coding beast—flowing through projects without hesitation.


🐚 Step 2: Zsh — My Terminal, My Orchestra

Terminal isn’t just a black box. With Oh My Zsh, plugins, and careful configuration, it becomes your stage.

Here’s what I did:

  • Chose plugins I actually use. Not random flashy ones. Just the ones that save keystrokes and provide info I need daily.
  • Set aliases for almost everything: IP checks, file navigation, clipboard encoding, ports, battery status.
  • Added functions like mkcd (make + cd) and markdown2pdf for everyday automation.
  • Maintained a clean PATH and MANPATH — no clutter, no confusion.

The result? I type less, know more, navigate faster, and reduce mental friction. And the best part: it’s satisfying, like conducting an orchestra where every note follows my command.


🔌 Step 3: Extensions That Actually Work

Extensions are powerful
 if you know how to use them:

  • Not installed randomly. Each one has a purpose.
  • For example, Vim emulation isn’t about hardcore keybindings. I use the basics: a, A, b, f, l, h, i, k, gg, <S-g>. Enough to move fast without pain, while keeping things simple.
  • My 90+ keybindings aren’t show-offs. They’re practical, covering navigation, edits, file ops, multi-file workflow — everything a dev needs to move like a ghost in the code.

🌟 You can learn these Vim motions in 15–20 minutes on online platforms. It’s worth it, I promise.


💡 Step 4: Why This Workflow Matters

You might be thinking: “Isn’t this just personal preference?” Yes
 and no.

  • This workflow is personal, but built on well-known tools. Anyone can adapt it.
  • It’s fast, reduces repetitive stress, and makes coding enjoyable.
  • You don’t need to memorize a million shortcuts. Start small, add as needed.
  • Works for PHP, Laravel, WordPress, but honestly, it’s universal. JS, Python, Ruby — it’s all faster with the right setup.

The best part? Once you master this rhythm, coding feels like music. You think, you move, you execute. And the satisfaction? Hard to describe. But anyone who’s been in the zone knows exactly what I mean.


🧭 Step 5: My Advice to Fellow Devs

  1. Start with your editor. Don’t chase every plugin. Choose what you actually use.
  2. Automate the boring stuff. Aliases, functions, macros — small wins accumulate.
  3. Simplify navigation. Learn the basic motions and shortcuts. You’ll move like a ninja.
  4. Iterate. Don’t try to get “perfect” immediately. Your workflow evolves with your projects.
  5. Enjoy the ride. Feeling in control of your environment is like conducting your own orchestra.

📌 Key Takeaway:

Workflow isn’t about complexity. It’s about clarity, rhythm, and personal satisfaction. Start small, automate where you can, and let your tools follow your lead — not the other way around.

đŸš© Find the complete configuration on this github respository:
https://github.com/mahafuz/.config

Top comments (2)

Collapse
 
sherrydays profile image
Sherry Day

Really liked how clearly you walked through each part of your setup without getting lost in the weeds. The section on stripping VSCode down to a minimal, clean interface stood out in particular—it really drives home how much mental energy clutter can steal. The “start small, then iterate” advice ties everything together nicely.

Collapse
 
mahafuz profile image
Mahafuzur Rahaman

Thanks for your kind feedback!