<story><title>Moving fast with the core Vim motions</title><url>https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/</url></story><parent_chain><item><author>galkk</author><text>I kind of settled on vim as console editor in Linux but it will never replace good ide for me, and modern ides are getting&amp;#x2F;having vim mode for navigation, making then even more compelling.&lt;p&gt;* Do you want autodetect indent and tab rule in file? Install plugin.&lt;p&gt;* Do you want to automatically insert matching closing parenthesis - rebind keys (half baked solution) or plugin.&lt;p&gt;* Vertical scrollbar? Plugin&lt;p&gt;* Autocomplete code using lsp? Dance with plugins or copy paste literal screens of configs for nvim&lt;p&gt;* Want nice looking theme? Plugin! (Gruvbox in my case)&lt;p&gt;* Install and manage plugins? 3rd party Plugin for that too, with init code that will clone it itself from GitHub&lt;p&gt;* Wrap long lines by whole words if possible? No default setting, I guess I need to search for plugin for that too.&lt;p&gt;List goes on and on, and it is just I’m looking at my vimrc and recalling why I added or another thing. And there are many things which I decided to just to not care about, because it requires too much time to get it work&lt;p&gt;Parent mentioned refactorings, but trust me, no matter what typing&amp;#x2F;navigating speed is, the standard refactorings in modern ides (that I bet cover most of typical refactoring work) will work faster and more correctly than manually doing the same. Even basic things like projectwise method rename or extracting something to parameter.&lt;p&gt;Almost every quality of life improvement that is standard in modern ides require tinkering with vim.</text></item><item><author>auto</author><text>We&amp;#x27;ve got younger guys on my team that hem and haw about the fact that we only have vim on our hardware implementation (SAMA5 busy box), and straight up don&amp;#x27;t understand why I basically can&amp;#x27;t use VSCode without the extension, and this article hits on so many good points.  Vim is extremely expressive, and everyone ends up using it in slightly different ways.  For me, my movement tends to center around:&lt;p&gt;- &amp;#x27;e&amp;#x27; and &amp;#x27;k&amp;#x27; rapidly, or &amp;#x27;h&amp;#x27; and &amp;#x27;b&amp;#x27; rapidly to move left and right, or using &amp;#x27;f&amp;#x27;&amp;#x2F;&amp;#x27;F&amp;#x27; and a target character, with &amp;#x27;0&amp;#x27; and &amp;#x27;$&amp;#x27; as needed&lt;p&gt;- For vertical movement, I tend to use ctrl+&amp;#x27;d&amp;#x27;&amp;#x2F;&amp;#x27;u&amp;#x27; to move the document up and down in chunks, then specific line numbers, as well as marks (usually at most 2-3, with &amp;#x27;a&amp;#x27;, &amp;#x27;b&amp;#x27;, and &amp;#x27;c&amp;#x27;) to hold on to specific areas, or I just end up remembering line numbers and jumping to them.&lt;p&gt;- Lots of yanking and deleting to specific targets, be it hori or vert&lt;p&gt;There&amp;#x27;s plenty more beyond that, but that really is the &amp;quot;crux&amp;quot; of my vim usage, and from what I&amp;#x27;ve seen watching over the shoulders of many programmers over the years, it makes me &lt;i&gt;way&lt;/i&gt; faster than most.  Programming isn&amp;#x27;t about typing speed, but my work is often in doing large refactors in enormous codebases.  I need to be able to move around as close to the speed of thought as possible, and I have never found a tool that comes anywhere close to providing that ability as vim.&lt;p&gt;Also, any chance I get to plug the greatest StackExchange answer ever, I will: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;1218390&amp;#x2F;what-is-your-most-productive-shortcut-with-vim&amp;#x2F;1220118#1220118&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;1218390&amp;#x2F;what-is-your-mos...&lt;/a&gt;</text></item></parent_chain><comment><author>drbaba</author><text>Not to detract from your general point - I definitely see the value in using an IDE with a Vim plugin, and often do so myself.&lt;p&gt;&amp;gt; Vertical scrollbar? Plugin&lt;p&gt;If you want scrollbars, the right solution is IMO to use a GUI Vim. I often use MacVim which is great, GVim is the obvious alternative on Linux&amp;#x2F;Windows, and NeoVim has lots of options (including, arguably, VSCode-NeoVim which is also great).&lt;p&gt;With MacVim, I can pop around randomly in a terminal and open Vim instances that run in the terminal as usual - and if I start editing something for long, I can type :gui to pop up an actual MacVim GUI window. I believe the same works in GVim.&lt;p&gt;&amp;gt; * Autocomplete code using lsp? Dance with plugins or copy paste literal screens of configs for nvim&lt;p&gt;I was annoyed by this as well. I then discovered that ALE (the venerable pre-LSP plugin for async linting) now has full LSP support, and it all “just works”. Doesn’t require NeoVim either. Just install the ALE plugin and put LSP servers in $PATH. ALE will find and use them. (By default, it uses standard Vim bindings like C-x C-o for completion, but you can change it.)&lt;p&gt;&amp;gt; * Want nice looking theme? Plugin! (Gruvbox in my case)&lt;p&gt;Vim 9.x (not NeoVim) has added a built-in Gruvbox theme named “retrobox” (both light and dark variants based on your background setting). If you don’t have it yet, you can get it as a plugin from here until your Vim updates:
&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;vim&amp;#x2F;colorschemes&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;vim&amp;#x2F;colorschemes&lt;/a&gt;&lt;p&gt;&amp;gt; * Wrap long lines by whole words if possible? No default setting, I guess I need to search for plugin for that too.&lt;p&gt;There are built-in settings for this, but yeah it requires some initial fiddling to get it nice. (After that initial fiddling, I’ve been annoyed by how word wrap works in any other editor.)</text></comment>
<story><title>Moving fast with the core Vim motions</title><url>https://www.barbarianmeetscoding.com/boost-your-coding-fu-with-vscode-and-vim/moving-blazingly-fast-with-the-core-vim-motions/</url></story><parent_chain><item><author>galkk</author><text>I kind of settled on vim as console editor in Linux but it will never replace good ide for me, and modern ides are getting&amp;#x2F;having vim mode for navigation, making then even more compelling.&lt;p&gt;* Do you want autodetect indent and tab rule in file? Install plugin.&lt;p&gt;* Do you want to automatically insert matching closing parenthesis - rebind keys (half baked solution) or plugin.&lt;p&gt;* Vertical scrollbar? Plugin&lt;p&gt;* Autocomplete code using lsp? Dance with plugins or copy paste literal screens of configs for nvim&lt;p&gt;* Want nice looking theme? Plugin! (Gruvbox in my case)&lt;p&gt;* Install and manage plugins? 3rd party Plugin for that too, with init code that will clone it itself from GitHub&lt;p&gt;* Wrap long lines by whole words if possible? No default setting, I guess I need to search for plugin for that too.&lt;p&gt;List goes on and on, and it is just I’m looking at my vimrc and recalling why I added or another thing. And there are many things which I decided to just to not care about, because it requires too much time to get it work&lt;p&gt;Parent mentioned refactorings, but trust me, no matter what typing&amp;#x2F;navigating speed is, the standard refactorings in modern ides (that I bet cover most of typical refactoring work) will work faster and more correctly than manually doing the same. Even basic things like projectwise method rename or extracting something to parameter.&lt;p&gt;Almost every quality of life improvement that is standard in modern ides require tinkering with vim.</text></item><item><author>auto</author><text>We&amp;#x27;ve got younger guys on my team that hem and haw about the fact that we only have vim on our hardware implementation (SAMA5 busy box), and straight up don&amp;#x27;t understand why I basically can&amp;#x27;t use VSCode without the extension, and this article hits on so many good points.  Vim is extremely expressive, and everyone ends up using it in slightly different ways.  For me, my movement tends to center around:&lt;p&gt;- &amp;#x27;e&amp;#x27; and &amp;#x27;k&amp;#x27; rapidly, or &amp;#x27;h&amp;#x27; and &amp;#x27;b&amp;#x27; rapidly to move left and right, or using &amp;#x27;f&amp;#x27;&amp;#x2F;&amp;#x27;F&amp;#x27; and a target character, with &amp;#x27;0&amp;#x27; and &amp;#x27;$&amp;#x27; as needed&lt;p&gt;- For vertical movement, I tend to use ctrl+&amp;#x27;d&amp;#x27;&amp;#x2F;&amp;#x27;u&amp;#x27; to move the document up and down in chunks, then specific line numbers, as well as marks (usually at most 2-3, with &amp;#x27;a&amp;#x27;, &amp;#x27;b&amp;#x27;, and &amp;#x27;c&amp;#x27;) to hold on to specific areas, or I just end up remembering line numbers and jumping to them.&lt;p&gt;- Lots of yanking and deleting to specific targets, be it hori or vert&lt;p&gt;There&amp;#x27;s plenty more beyond that, but that really is the &amp;quot;crux&amp;quot; of my vim usage, and from what I&amp;#x27;ve seen watching over the shoulders of many programmers over the years, it makes me &lt;i&gt;way&lt;/i&gt; faster than most.  Programming isn&amp;#x27;t about typing speed, but my work is often in doing large refactors in enormous codebases.  I need to be able to move around as close to the speed of thought as possible, and I have never found a tool that comes anywhere close to providing that ability as vim.&lt;p&gt;Also, any chance I get to plug the greatest StackExchange answer ever, I will: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;1218390&amp;#x2F;what-is-your-most-productive-shortcut-with-vim&amp;#x2F;1220118#1220118&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;stackoverflow.com&amp;#x2F;questions&amp;#x2F;1218390&amp;#x2F;what-is-your-mos...&lt;/a&gt;</text></item></parent_chain><comment><author>wruza</author><text>That’s mostly true, but then one day you want to use an external filter, or a custom set of snippets that doesn’t suck at editing them, or make the next line align correctly after “(“ and there’s no plugin for that in your ide. And, more importantly, it’s a pita to create and publish one. It’s not better or worse, some people like off the shelf availability, some like local fine tuning. Would be nice to have a full union, but ides &lt;i&gt;suck&lt;/i&gt; at local customization that wasn’t trivial or planned in advance.&lt;p&gt;Added: I hate both worlds now. Where’s an editor that is full of modern features and at the same time easily programmable?</text></comment>