<story><title>Vim After 15 Years (2017)</title><url>https://blog.langworth.com/vim3</url></story><parent_chain><item><author>Trufa</author><text>It&amp;#x27;s alway pretty fascinating to me that people can actually be productive without an IDE.&lt;p&gt;I&amp;#x27;ve tried several times Vim and I just don&amp;#x27;t get it how you can live without certain functionalities, I&amp;#x27;m sure that with enough tinkering you can get pretty close but, for example, search seems to always be kind of a pain in the ass for the complex queries with regex through many files and stuff like that, specially the presenting of results has never been close in my opinion as to something like IntelliJ does it.&lt;p&gt;Things like &amp;quot;god damn, I&amp;#x27;ve done goofed or I don&amp;#x27;t quite remember something&amp;quot; and having the internal file history with a diff readily available.&lt;p&gt;Some of the click and find implementation&amp;#x2F;usages never seems to quite there to me.&lt;p&gt;I could go on, if you&amp;#x27;re truly being productive and not missing out on feature, more power to you, but I honestly wonder if there&amp;#x27;s no element of fun&amp;#x2F;pride in using something like vim now-a-days, which of course is totally fine and way more important in my book (to an extent) to pure productivity.&lt;p&gt;There is also the point of being able to use vim bindings inside of the IDE.&lt;p&gt;Maybe I&amp;#x27;m just an idiot that can&amp;#x27;t Vim, totally open to that idea, but I&amp;#x27;m truly wondering how productive it actually is.</text></item></parent_chain><comment><author>imran-iq</author><text>Just my 2 cents on this&lt;p&gt;&amp;gt; I don&amp;#x27;t quite remember something and having the internal file history with a diff readily available.&lt;p&gt;You&amp;#x27;re already in a terminal, git is just one command away&lt;p&gt;&amp;gt; Some of the click and find implementation&amp;#x2F;usages never seems to quite there to me.&lt;p&gt;This really depends on the language you are working in, but generally vim&amp;#x27;s gd (and plugins that augment it) enough most of the time, otherwise grep&amp;#x2F;rg if you know what you are looking for.
If you are using something really dynamic, e.g. ruby, then you&amp;#x27;re pretty much shit out of luck.&lt;p&gt;&amp;gt; I could go on, if you&amp;#x27;re truly being productive and not missing out on feature, more power to you.&lt;p&gt;Here&amp;#x27;s the thing, the best part about it vim is that it is not slow (plus paired with a terminal emulator like kitty&amp;#x2F;wez&amp;#x2F;alacritty). When I type the characters actually appear on the screen as I type them. With most IDE&amp;#x27;s (at least the ones I have used) there is a noticeable delay from when I have stopped typing and characters appearing on screen.&lt;p&gt;Another thing to add is that vim is very fast to start up and shut down, I open and close vim multiple times as I am working. With an IDE, startup times are atrocious and dont really fit my work style of cd&amp;#x27;ing somewhere quickly editing something, cd&amp;#x27;ing somewhere else and rinse and repeat.&lt;p&gt;In general I find the original command line tools to be much better than IDE provided equivalents or integrations, there&amp;#x27;s no unnecessary animations and much less cpu&amp;#x2F;ram usage. Though one exception for me is the database clients, where I much rather prefer a GUI than using the CLI client.&lt;p&gt;Your tests are already runnable from command line (assuming CI is setup).&lt;p&gt;Basically, Unix becomes your IDE</text></comment>
<story><title>Vim After 15 Years (2017)</title><url>https://blog.langworth.com/vim3</url></story><parent_chain><item><author>Trufa</author><text>It&amp;#x27;s alway pretty fascinating to me that people can actually be productive without an IDE.&lt;p&gt;I&amp;#x27;ve tried several times Vim and I just don&amp;#x27;t get it how you can live without certain functionalities, I&amp;#x27;m sure that with enough tinkering you can get pretty close but, for example, search seems to always be kind of a pain in the ass for the complex queries with regex through many files and stuff like that, specially the presenting of results has never been close in my opinion as to something like IntelliJ does it.&lt;p&gt;Things like &amp;quot;god damn, I&amp;#x27;ve done goofed or I don&amp;#x27;t quite remember something&amp;quot; and having the internal file history with a diff readily available.&lt;p&gt;Some of the click and find implementation&amp;#x2F;usages never seems to quite there to me.&lt;p&gt;I could go on, if you&amp;#x27;re truly being productive and not missing out on feature, more power to you, but I honestly wonder if there&amp;#x27;s no element of fun&amp;#x2F;pride in using something like vim now-a-days, which of course is totally fine and way more important in my book (to an extent) to pure productivity.&lt;p&gt;There is also the point of being able to use vim bindings inside of the IDE.&lt;p&gt;Maybe I&amp;#x27;m just an idiot that can&amp;#x27;t Vim, totally open to that idea, but I&amp;#x27;m truly wondering how productive it actually is.</text></item></parent_chain><comment><author>brian_cloutier</author><text>I&amp;#x27;ve used vim for a while now and using it isn&amp;#x27;t a point of pride, it&amp;#x27;s more that whenever I try an IDE I wonder how anybody could be productive using it.&lt;p&gt;I&amp;#x27;ve rarely had a problem with search, I can type `:grep [some regex]` and I&amp;#x27;m quickly shown all matches for that regex in the entire project. I admit I&amp;#x27;m not sure how I would do a more complicated query, but this is almost always enough, what kinds of queries do you do which this doesn&amp;#x27;t cover? There&amp;#x27;s just one exception, I&amp;#x27;m currently working in a codebase where members have very generic names, `Nonce` is a valid field name for a number of different structs, which makes search results for `Nonce` tedious to work through. For this situation I&amp;#x27;ve added a keybinding which calls semgrep and lets me view all references for a specific struct&amp;#x27;s `Nonce` field.&lt;p&gt;Calling out to semgrep is an instance of a more general pattern: Because vim is not integrated I lean on tools outside of vim when necessary. The `git` cli, especially once you add some aliases, gives fine access to file history and diffs.&lt;p&gt;The feature I&amp;#x27;m most jealous of is debugger integration. `gdb` and `dlv` get the job done but it&amp;#x27;s really convenient to be able step through your code with the same interface you use to write it.&lt;p&gt;&amp;gt; There is also the point of being able to use vim bindings inside of the IDE&lt;p&gt;Every vim keybinding re implementation I&amp;#x27;ve tried has been missing essential features. When I&amp;#x27;m inside an IDE I spend much of my time typing and navigating. When I&amp;#x27;m inside vim I&amp;#x27;m _thinking_, and the necessary changes occur about as quickly as I decide upon them.</text></comment>