5 ms·
I love comparisons like this. There's such a rush to get the new shiny thing, that sometimes we don't notice what we're giving up. I've been going back and fort
by SwellJoe 10y ago
I love comparisons like this. There's such a rush to get the new shiny thing, that sometimes we don't notice what we're giving up. I've been going back and forth between Atom, VS Code, and vim, for my programming for the past year, or so. I end up defaulting back to vim, for a variety of reasons. Speed is one of them (the bigger one is that nearly all of my testing happens on remote servers or headless VMs, so if I want to use an edit-test-commit cycle, which I nearly always do, vim is what I have).
There's a lot to like about the new editors, but it's a pretty big tradeoff, IMHO. Even on reasonable-sized files, I notice the speed difference, and sometimes Atom or VS Code do something pathological and end up making me wait an inordinate amount of time for it to sort itself out.
Also, Atom has improved quite a bit. It used to be remarkably slower than VS Code, and now it seems to be only marginally slower (though both are among the slowest in this bunch of tests, so it's faint praise to say Atom is "almost as fast as VS Code"). Nonetheless, Moore's law has given us a world in which even very, very, slow editors are Fast Enough(tm) for most of the work, most of the time.
- nikcub 10y agoI'm in a similar spot but between VS Code and vi. Have you tried the vim extension for VS Code? In theory it would be an almost perfect solution but I can't seem to get it to feel natural. I might just need to dedicate more time to adjusting muscle memory.
- linkregister 10y agoIt misses the : operator, which makes it impossible to do a :wq . Or rather the : operator brings up the VS code console which is completely different.
- SwellJoe 10y agoI never try to make vim keybindings work in a GUI editor. It is inevitably an uncanny valley, where it's not quite right, and I spend more time context switching between "real vim" and "this sort of vim" than I would just doing things the way the editor was built. I have spent enough time writing prose (and even coding) in more standard GUI editor environments that it doesn't feel unnatural to work in that way. There are some things that are a little painful (I'm really comfortable with, for example, complex substitutions in vim, but not so much in other editors), but most of the time I don't need those features often enough to have it be a major impediment. Like, I have no idea how to "change these two words, but only if it's at the end of a line, and keep the words in between them the same" in any editor other than vim. I'm sure it's possible, and maybe if I ever really switch off of vim, I'll figure it out. So...yeah, I use Atom and VS Code mostly stock, with a few plugins. I don't ask them to act like vim. I'd just be disappointed.
- samb1729 10y ago> "change these two words, but only if it's at the end of a line, and keep the words in between them the same" How do you do this in vim? Could you give an example? I've tried a few times to love vim but emacs keeps pulling me back.
- khedoros1 10y agoI'd think something like: :%s/word1\(.*\)word2$/word3\1word4/ Over each line in the whole file, search for word 1 and word 2 (which is at the end of the file), separated by arbitrary non-newline characters, and change them to word3 and word4.
- juki 10y agoThe Emacs equivalent would be M-x replace-regexp word1\(.*\)word2$ RET word3\1word4 RET Assuming you have `replace-regexp` bound to a key, it's practically the same. Works on the whole buffer (by default), or the region (if selected).
- SwellJoe 10y ago
- ball_of_lint 10y agoHave you ever heard of sshfs? I've needed to do some work on headless computers lately and it has been a lifesaver. Basically it lets you mount a remote computer's filesystem over ssh, meaning you can edit everything in your main editor.
- bostand 10y agoAnother vote for sshfs! If you are lucky enough to use linux on both ends, sshfa can make your life so much easier.
- yAnonymous 10y agoThe things we are "giving up" aren't ones I'd like to keep, especially stuff like working on XMLs with 100k+ lines on a slow notebook. The development with web technologies means a big step forward in accessibility and usability and that's much more important to me. For the rare case I do need to work on an XML with 100k lines, vim is still around and using a modern editor won't make it disappear.