<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Mahafuzur Rahaman</title>
    <description>The latest articles on Forem by Mahafuzur Rahaman (@mahafuz).</description>
    <link>https://forem.com/mahafuz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F28317%2Fdb8b8536-8bf6-448d-8067-56959f6f958d.jpg</url>
      <title>Forem: Mahafuzur Rahaman</title>
      <link>https://forem.com/mahafuz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mahafuz"/>
    <language>en</language>
    <item>
      <title>🚀 Crafting My Developer Workflow: VSCode, Vim, and Zsh</title>
      <dc:creator>Mahafuzur Rahaman</dc:creator>
      <pubDate>Wed, 03 Dec 2025 08:47:26 +0000</pubDate>
      <link>https://forem.com/mahafuz/crafting-my-developer-workflow-vscode-vim-and-zsh-1aln</link>
      <guid>https://forem.com/mahafuz/crafting-my-developer-workflow-vscode-vim-and-zsh-1aln</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“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.”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;As a developer, you know the grind. Hours staring at code, switching between files, terminals, documentation, and the browser.&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;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 &lt;strong&gt;on my tools than on the code itself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So, I decided: enough is enough. I needed a workflow that would &lt;strong&gt;feel like music&lt;/strong&gt;, where everything follows my rhythm.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧰 Step 1: VSCode — More Than an Editor
&lt;/h2&gt;

&lt;p&gt;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 &lt;em&gt;more&lt;/em&gt;. That’s exactly where I started.&lt;/p&gt;

&lt;p&gt;I didn’t reinvent the wheel. Instead, I:&lt;/p&gt;

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

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

&lt;blockquote&gt;
&lt;p&gt;⚡ &lt;strong&gt;Pro tip:&lt;/strong&gt; You don’t need to memorize everything. Start with basics, then gradually adopt more shortcuts as they become intuitive.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Minimal. Clean. Focused.
&lt;/h3&gt;

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

&lt;p&gt;I stripped it all down. No clutter. Only what matters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Tabs hidden, activity bar minimized, and tree view clean.&lt;/li&gt;
&lt;li&gt;  Vim keybindings that let me navigate, edit, and manipulate code without touching the mouse.&lt;/li&gt;
&lt;li&gt;  Terminal, Zsh, and shell tools integrated seamlessly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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.&lt;/p&gt;

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




&lt;h2&gt;
  
  
  🐚 Step 2: Zsh — My Terminal, My Orchestra
&lt;/h2&gt;

&lt;p&gt;Terminal isn’t just a black box. With Oh My Zsh, plugins, and careful configuration, it becomes &lt;strong&gt;your stage&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here’s what I did:&lt;/p&gt;

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

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




&lt;h2&gt;
  
  
  🔌 Step 3: Extensions That Actually Work
&lt;/h2&gt;

&lt;p&gt;Extensions are powerful… if you know how to use them:&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;🌟 You can learn these Vim motions in 15–20 minutes on online platforms. It’s worth it, I promise.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💡 Step 4: Why This Workflow Matters
&lt;/h2&gt;

&lt;p&gt;You might be thinking: &lt;em&gt;“Isn’t this just personal preference?”&lt;/em&gt; Yes… and no.&lt;/p&gt;

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

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧭 Step 5: My Advice to Fellow Devs
&lt;/h2&gt;

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




&lt;p&gt;📌 &lt;strong&gt;Key Takeaway:&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;🚩 &lt;strong&gt;Find the complete configuration on this github respository:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/mahafuz/.config" rel="noopener noreferrer"&gt;https://github.com/mahafuz/.config&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tooling</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
