7 ms·
It depends on what you're doing. This article is more about programming than other kinds of computery work. In the industry I work in (openstack devops/gitops,
by enasterosophes 3y ago
It depends on what you're doing. This article is more about programming than other kinds of computery work. In the industry I work in (openstack devops/gitops, running a large fleet of ubuntu machines), using Vim isn't a flex, it's just taken for granted that you can and will use Vim at least some of the time.
It's weird when I read threads like this and people treat using Vim as some kind of weird flex. It feels like I'm living on a different planet. Vim isn't a flex, it's a natural part of the broader Unix environment. It works seamlessly with Git, SSH, and the GNU ecosystem of bash, coreutils, gawk, gcc (which are all ubiquitous, too.) In such an environment, the more you learn about Vim, the more it pays off.
Why? Vim is ubiquitous, (relatively) lightweight, extensible with a lot of plugins available, and stable/predictable in its behavior. Its ubiquity and history ensures there is a huge body of documentation about it on the web. Unlike some other editors, it doesn't leave hidden "artifacts" all over the place, just one hidden swp file at a time which vanishes as soon as you save and exit the editor. This politeness is attractive because you don't have to deal with stale or interfering hidden statefulness.
Summary: Although you can edit quickly with Vim, and can keep getting faster the more you learn, it's not like I stick with Vim because "editing speed" is some metric that I really care about. And when assessing a candidate in an interview, it's not like I'm assessing them on their words-per-minute and tell them they need to switch to Vim to match our typing speed standards, lol. I use Vim, and I care about Vim, because it is polite and stable and integrates well with the broader Unix/GNU ecosystem I spend a lot of time working and playing in, and once you get muscle-memory for it, it feels really clunky to try using some other tool which doesn't have the same set of features.
- IshKebab 3y agoYou're not selling it to me. For simple admin tasks, Micro is totally fine. For actual programming where I really want the full power of an advanced editor, VSCode has all the properties you listed except arguably lightweight, though even there VSCode itself is pretty lightweight; it's just the heavy LSP servers that bog things down. I obviously don't see Vim as a flex. Maybe a misguided flex.
- skydhash 3y agoIt’s not VIM specifically, it’s the vim way, a language for editing texts. Actions are atomic and composable. And then you can add your own commands. You could probably use VIM inside VSCode but the latter does not expose the necessary API. What you got instead is a very simplified version. Emacs does and evil-mode is a very good vim.
- IshKebab 3y ago> Actions are atomic and composable. That sounds like a downside. Incremental editing with multiple cursors is so much better than e.g. regex based find/replace or long vim commands because you get immediate feedback. If you make a mistake you just undo. You don't have to start again from scratch. With complex atomic editing operations it is painful to get them right because you only see the final output. Atomicity of complex editing operations is not a desirable property.
- skydhash 3y agoUndo is just the letter u. With the concepts of text objects, boundaries and movement, making mistakes is not easy. Code is also structured which makes it easier to manipulate. Atomicity here has a linguistic meaning. You know the basic operations, and you compose them to express a more complex ones. Like d is delete, and w is one word to the right, dw means delete one word to the right. di” (delete in) is delete the characters inside the quotes and da” (delete around) also deletes the quotes too. Once you got the hang of the languages, editing, inserting and selecting text becomes as easy as thinking. N.B. Normal mode is the default mode, not insert mode
- enasterosophes 3y agoI wasn't trying to "sell" you on it. You seemed confused. My intention was to inform, not to persuade. Use what you want, I don't care.