{"id":397,"date":"2026-01-30T15:42:11","date_gmt":"2026-01-30T15:42:11","guid":{"rendered":"https:\/\/codingismycraft.blog\/?p=397"},"modified":"2026-01-30T15:42:11","modified_gmt":"2026-01-30T15:42:11","slug":"stop-trying-to-turn-vim-into-a-bloated-ide-youre-missing-the-point","status":"publish","type":"post","link":"https:\/\/codingismycraft.blog\/index.php\/2026\/01\/30\/stop-trying-to-turn-vim-into-a-bloated-ide-youre-missing-the-point\/","title":{"rendered":"Stop trying to turn Vim into a bloated IDE. You\u2019re missing the point."},"content":{"rendered":"<p>As a programmer, I spend the better part of my life staring at a grid of<br \/>\npixels. Over the decades\u2014stretching back to the days of <strong>Turbo Pascal<\/strong> and<br \/>\n<strong>Borland C++<\/strong>\u2014I\u2019ve used every heavyweight tool in the book. I\u2019ve been there<br \/>\nfor the &#8220;Version 1.0&#8221; launches of Visual Studio, Eclipse, and IntelliJ.<\/p>\n<p>But after years of chasing the &#8220;ultimate&#8221; setup, I\u2019ve realized something: <strong>The<br \/>\nmost productive screen real estate is the emptiest one.<\/strong><\/p>\n<h3>The &#8220;IDE-fication&#8221; of Neovim<\/h3>\n<p>Lately, I\u2019ve watched the Neovim ecosystem explode with plugins designed to<br \/>\nmimic the very IDEs many of us were trying to escape. We\u2019re seeing:<\/p>\n<ul>\n<li>Intrusive autocompletion popups that break flow.<\/li>\n<li>File explorer sidebars that eat up horizontal space.<\/li>\n<li>LSP &#8220;noise&#8221; everywhere.<\/li>\n<li>Flashy icons and &#8220;eye candy&#8221; that add zero functional value.<\/li>\n<\/ul>\n<h3>My Philosophy: Vim + Tmux (And nothing else)<\/h3>\n<p>For me, the combination of <strong>Vim inside Tmux<\/strong> remains unbeatable and I don\u2019t<br \/>\nwant my editor to feel like a cockpit.<\/p>\n<ul>\n<li><strong>No File Explorers:<\/strong> If I need to find a file, I use the terminal or quick<br \/>\njumps. I cannot stand the idea of a persistent tree view wasting space. Fuzzy<br \/>\nFinder and NerdTree plugins are fine, i use them but no more than that.<\/li>\n<li><strong>No UI Distractions:<\/strong> I\u2019ve written my own plugins and customized my<br \/>\n<code>.vimrc<\/code> extensively, but the goal is always to <em>remove<\/em> UI elements, not add<br \/>\nthem.<\/li>\n<li><strong>Zero Popups:<\/strong> I want to see my code, and only my code.<\/li>\n<li><strong>Keyboard-Centric:<\/strong> Every action is keyboard-driven. No mouse, no touchpad,<br \/>\nno distractions.<\/li>\n<li><strong>No LSP Noise:<\/strong> ctags, grep, and vim buildin commands are enough for me. I<br \/>\ndon\u2019t need inline diagnostics or code actions popping up.<\/li>\n<li><strong>Debugging:<\/strong> The terminal is my debugger. I run tests and inspect logs<br \/>\noutside of Vim. The termdebug plugin is enough for my needs; do yourself<br \/>\na favor and learn how to use gdb from the command line and you will never<br \/>\nlook back to bloated IDE debuggers.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/codingismycraft\/dotfiles\">codingismycraft\/dotfiles<\/a><\/p>\n<\/li>\n<li><a href=\"https:\/\/github.com\/codingismycraft\/VimMyTools\">codingismycraft\/VimMyTools<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/codingismycraft\/VimStatusLine\">codingismycraft\/VimStatusLine<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/codingismycraft\/VimCommentator\">codingismycraft\/VimCommentator<\/a><\/li>\n<\/ul>\n<h3>The Hot Take<\/h3>\n<p>Transforming Vim into a &#8220;lightweight IDE&#8221; misses the point of what makes Vim powerful in the first place.<\/p>\n<p>But Vim stands apart for a reason. It\u2019s not just a tool; it is the definition of the UNIX philosophy: lean, precise, does one thing and does it well.<\/p>\n<p>The emptier my workspace, the easier it is to do what matters most: write code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As a programmer, I spend the better part of my life staring at a grid of pixels. Over the decades\u2014stretching back to the days of&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-397","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":221,"url":"https:\/\/codingismycraft.blog\/index.php\/2014\/05\/13\/the-best-programmers-editor\/","url_meta":{"origin":397,"position":0},"title":"The best programmer&#8217;s editor","author":"john","date":"May 13, 2014","format":false,"excerpt":"As a professional programmer, I spend thousands of hours in front of a computer screen every year and without a doubt the two tools I use the most are the operating system command prompt and my editor of choice. Here I will talk about the later, which happens to be\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/codingismycraft.blog\/index.php\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":266,"url":"https:\/\/codingismycraft.blog\/index.php\/2024\/07\/03\/arch-installing-vim-9-from-source-code\/","url_meta":{"origin":397,"position":1},"title":"Arch: Installing vim 9 from source code","author":"john","date":"July 3, 2024","format":false,"excerpt":"Summary The vim that is installed by default when installing arch does not support neither clipboard nor python. The same applies to the vim version that can be install from the remote repositories using pacman. The objective of the posting is to install vim 9 complied with clipboard and python\u2026","rel":"","context":"In &quot;arch&quot;","block_context":{"text":"arch","link":"https:\/\/codingismycraft.blog\/index.php\/category\/arch\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":379,"url":"https:\/\/codingismycraft.blog\/index.php\/2025\/06\/01\/the-simple-macroeconomics-of-ai-extended-summary\/","url_meta":{"origin":397,"position":2},"title":"The Simple Macroeconomics of AI \u2013 Extended Summary","author":"john","date":"June 1, 2025","format":false,"excerpt":"The Simple Macroeconomics of AI \u2013 Extended Summary Source: MIT Department of Economics, April 2024 \u2013 \u201cThe Simple Macroeconomics of AI\u201d Introduction AI is all over the place and affects dramatically the technology landscape. In a short period of time, companies that used to have well defined, vertical business model\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":374,"url":"https:\/\/codingismycraft.blog\/index.php\/2025\/05\/27\/the-hidden-cost-of-skipping-the-fundamentals-in-the-age-of-ai\/","url_meta":{"origin":397,"position":3},"title":"The Hidden Cost of Skipping the Fundamentals in the Age of AI","author":"john","date":"May 27, 2025","format":false,"excerpt":"The Problems of Shallow Learning One profound shift I\u2019ve observed recently is how AI has made it incredibly easy to start using new technologies without really learning them in depth or sometimes even without learning them at all. While this approach can feel like a productivity boost, I believe it\u2019s\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":241,"url":"https:\/\/codingismycraft.blog\/index.php\/2024\/03\/18\/real-world-problems-vs-futuristic-prophesying\/","url_meta":{"origin":397,"position":4},"title":"Real World Problems vs Futuristic Prophesying","author":"john","date":"March 18, 2024","format":false,"excerpt":"As a professional who works on various tech fields, including AI and machine learning, my main goal is to solve the real issues we see across multiple industries today. Honestly, I find discussions about AI and ethics to be less important when compared to how we can practically apply these\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/codingismycraft.blog\/index.php\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":226,"url":"https:\/\/codingismycraft.blog\/index.php\/2023\/11\/26\/potential-pitfalls-of-over-reliance-on-sqlalchemy\/","url_meta":{"origin":397,"position":5},"title":"Potential Pitfalls of Over-reliance on SQLAlchemy.","author":"john","date":"November 26, 2023","format":false,"excerpt":"When it comes to accessing databases, the go-to option for many Python developers is SQLAlchemy, a popular SQL toolkit and Object-Relational Mapping (ORM) system. Based on my experience with multiple databases and data access libraries, I've found the potential overuse of SQLAlchemy to be quite a common scenario. And this\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/codingismycraft.blog\/index.php\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/posts\/397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/comments?post=397"}],"version-history":[{"count":5,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/posts\/397\/revisions"}],"predecessor-version":[{"id":402,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/posts\/397\/revisions\/402"}],"wp:attachment":[{"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/media?parent=397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/categories?post=397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codingismycraft.blog\/index.php\/wp-json\/wp\/v2\/tags?post=397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}