5 ms·
There's been a number of "anti-vim, use a real ide(TM)" posts coming into my feed lately and I don't get why. Do people really get buttmad about this? I switch
by drekipus 5y ago
There's been a number of "anti-vim, use a real ide(TM)" posts coming into my feed lately and I don't get why. Do people really get buttmad about this?
I switched from vscode to vim as I found it to be largely much faster in getting around when I started my new job, some people find the opposite. A ok.
Why do people try to force us into these largely closed solutions? ( Mainly it's vscode, which has a real EEE threat)
- vintermann 5y agoI've never gone for vi(m), even after roughly 25 years of using Linux now. I'm not trying to force you into anything, certainly not anything closed. I used NEdit until its lack of utf-8 and ancient GUI library started causing trouble. Then I used Slava Pestov's JEdit, which was wonderfully extensible and portable. Now I use vscode, which is just so outrageously well made that even electron and Microsoft can't scare me away from it. All are open source. (Don't know what you mean by EEE threat, googling it doesn't help.) But modal editing is just a bad idea. We've known since the 70s. One of the most solid things to come out of behavioural psychology was the idea that switching contexts - so that the same thing does something different - has a cost, and isn't a great idea when designing a user interface. Imagine you had a car with stick shift. But you also had a little button on the dashboard, which, if you pressed it, toggled so that the stick shift controlled your car radio instead of your gearbox. Obviously, that would be a terrible idea. Still, people might get used to it. They might even get so used to it that they would defend it and complain when the feature wasn't there. All I see that's really different about modal editing is that the stakes are lower when you make mistakes. But it's, bizarrely to me, become a matter of prestige and pride for some to use an antiquated UI design. I'd understand it if you grew up with it, but odds are you didn't. Even the guy who tried to push it on me back in the 90s didn't either. It's like everyone's zipping around in electric cars, and some people still swear by those gear/radio sticks.
- wruza 5y agostick shift That is an unfair comparison on the edge of a strawman. In vim, you see your mode right at the cursor shape (bar in insert, block in normal, selection in visual). It’s like saying that DEs are bad because switching active windows is modal. Why not send input to the first window in the taskbar by holding ctrl and to the second by holding ctrl-shift then? Does that sound absurd? Even when you make a modal mistake once in a while, no stakes are lost because uu. One thing I agree on is that UI could use more graphics, smoothness and features. But all my attempts to adopt vscode failed miserably. It’s just too mouse-y and too configure-y but still lacks futuristic features I want.
- vintermann 5y agoYes, visual feedback reduces the chance of errors with mode switching. I believe (correct me if I'm wrong) it's one of the improvements vim has on old vi. Unlimited undo is another one vi certainly didn't have from the start. I did say the stakes are much lower. But shouldn't we make less critical interfaces with the same care we make more critical ones? And yes, many things we still have in UIs are arguably mode switching and bad, it's just we haven't figured out better ways to deal with it. With editing we did, long ago.
- stnmtn 5y agoHow is it easier to move your hand to a trackpad than it is to keep your hands right on the keyboard, do `ci)` which is (c)hange (i)nside `)` to delete all of a function's parameters and instantly be retyping them? I don't understand how you can speak so authoritatively as if I'm accessing a completely different part of my brain when I'm using vim modes when I'm telling you that having to navigate a cursor to click, drag, and select all text is so much more context switching And also, that ci) command? It's a language. You can do `ci"`, which is (c)hange (i)nside " to instantly change a string without having to hold the backspace button or manipulate a cursor.
- wruza 5y agoI see your point, but I think we’re held back not by UI, but by input methods, including physical ones. And I partially attribute that to vim’s [niche] success. It’s so annoying to hold ctrl-shift to select anything in windows-likes and personally I make much more mistakes while properly fingering the keyboard in these than while using vim modes. The path I see is to make better keyboards with separate keys for fundamental edit ops like selecting, language switching, word/structure navigation, etc, and then some more. We’re too stuck in these typewriter interfaces.
- dummy_physicist 5y agoI agree on the graphics part. I've tried doom emacs for the graphics, but it's not quite the same thing. On Mac, though, vimr[0] had a nice UI for neovim. On linux I'm yet to find a neovim GUI I'm happy with. [0]: https://github.com/qvacua/vimr https://github.com/qvacua/vimr
- qolop 5y agoHow can you tell modal editing is bad without having used it? You said you've never gone for vim in 25 years, how then can you know what model editing is like? Because you read some behavioral psychology textbook? Your comment is by far the most ignorant one I've come across on hackernews. Take my advise, go ahead and try out vim for a few weeks. Then even if your opinions don't change at least you'll have an ounce of credibility
- ehutch79 5y agoI'm pretty sure they meant that they tried it multiple times, but didn't like it. Same with me. I try and get on the vim hype train. seems like a great idea, but i can never 'get' vim.
- turboponyy 5y agoIf you followed through with your analogy, you'd have to concede that non-modal editors are like cars without gearboxes. Either way, what's distracting context switching for one, is essential functionality that enables effortless work for another. (Edit: I mostly use VSCode with the Neovim extension myself)
- crshults 5y agohttps://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extingu...
- dllthomas 5y ago> But modal editing is just a bad idea. We've known since the 70s. My understanding was that the UX studies around modal editing showed it was hard for new users, which isn't quite the same thing as "bad". Personally I think what really works about vim for me is the composition of action and motion in a sort of language.
- wutbrodo 5y agoYea, it's a little difficult to describe, but it's more than just pure speed, it's mental load. Vim let's me integrate the entire development process into a single flow. This is true fractally: from typing all the way to being able to comfortably live inside my screen sessions. It's difficult for me articulate how valuable it is to maintaining flow to almost _never_ feel like I'm switching muscle-memory contexts, where my text editing and screen switching and file-handling and model-training and everything else all feel like I'm in the same app. I've never come close to achieving this using a graphical IDE, including with vim keybindings. It obviously requires up-front investment in a way that more newb-friendly GUI tools don't, but I was lucky enough to make that commitment in college, when the initial hit to my productivity was practically costless.
- deeblering4 5y ago:%s/. We've known since the 70s/ in my opinion/
- mehphp 5y ago> It's like everyone's zipping around in electric cars, and some people still swear by those gear/radio sticks. Anecdotally, the vim users are the ones "zipping" around their code. I can't remember a single time thinking it was painful watching a vim user when pair-programming. In contrast, it's often quite painful watching someone slowly point and click around their IDE.
- mstade 5y ago> But modal editing is just a bad idea. Citation please? I mean, from a personal point of view I'm mostly in agreement with you, but your post reads like a straw man argument with a non apology affixed. "Not trying to force you into anything" followed by "modal editing is just a bad idea" just reads like judgmental noise to me – can it can be backed up with actual research? Meanwhile vim (and variants) exists and are hugely popular and so to me it seems that by definition modal editing can't be that bad an idea, or such multitudes of people simply wouldn't use these tools and they'd die out. Doesn't this kind of invalidate your argument? I'm a staunch Sublime Text supporter myself, having paid license fees since 2011-2012 sometime. I've dabbled with vim and friends but never really "got it" – yet I don't presume that my inability to see the light means there isn't one to be seen.
- grumbel 5y ago> Citation please? https://en.wikipedia.org/wiki/The_Humane_Interface https://en.wikipedia.org/wiki/The_Humane_Interface
- kelseyfrog 5y agoHe argues for ZoomWorld, so his mileage may vary.
- ibiza 5y agoI feel compelled to link to the SO answer: Your problem with Vim is that you don't grok vi https://stackoverflow.com/a/1220118/867757 https://stackoverflow.com/a/1220118/867757 You cannot create a "language for manipulating text" in a modeless editor, at least not a very rich one.
- michaelmrose 5y agoYou have started with an opinion and a theory of why vim doesn't work for you. This is perfectly valid. After all who knows you better than you? Then you launder that opinion through an appeal to entirely hypothetical authority "We've known" and bad analogy and what comes out is eternal truth as authentic as the town facades in a cheap western movie. It's a bad analogy because a car's controls are operated while carefully piloting a ton of metal at life ending speeds around 17 assholes on their phones while your editor is operated safely at your desk. Your car also has few enough vital controls that they can all be given a physical manifestation while your editor has a lot of functionality and most provide some way for you to access all of this functionality easily. All options have some downsides and mental overhead. You can provide a wide array of buttons possibly in sub and sub sub menus see content creation applications. Specifically 3D modeling apps. Filtering options as you type. Consider application launchers on most platforms where you could type Fir<Enter> to launch Firefox. Sequences of shortcuts after you have exhausted the standard fare. See Emacs default key bindings for an extreme example. The thing is that even Holding down Control while you press c is an example of a modal action. The C key either inserts its character or copies selected to a buffer based on whether the control key is held down. This is modal! The same is to a degree true of sub menus as the functionality presented changes based on which menu is open and which options you have picked previously. You are to some degree paying the inevitable cost of navigating a large number of functions and the only thing you can do is either forego the power of additional functionality by using simpler tools or figure out how to pay it in the least expensive fashion. You've elevated your preference to how to pay this tax to a scientific choice and reduced a massive number your fellows to Luddites in an abusive relationship with their editor defending their choice with misplaced pride. I invite you to consider that perhaps 1/4 of your fellows aren't simply idiots and perhaps there are reasons that for them this method of dealing with complexity is effective for them.
- throwawake 5y agoI’ve went through various editors and IDEs in past years. 2 years ago, I started using vim for exact same reason as yours. Nowadays, I use both vscode and neovim but mostly neovim as it’s faster for me. The problems I see are - - not everyone is comfortable with customizing their editor. - the meaning of bare-minimum features is different for everyone. - some of us try hard to learn vim and then give up, declaring it unfit. - some of us go too far in customizing it and end up thinking that we are overdoing it. So, some of this hate may be genuine, but generally, people don’t hate vim. They just hate the way they know/use it. At least I did.
- markenqualitaet 5y agoDoes (neo)vim offer a similar debugging experience? Visually stepping through code and setting break points and stuff? I like vim's code navigation, but I miss the autocompletion features of bigger editors. Can you make vim tab complete like sublime? Last I tried, it was never as "one key to rule them all", but required some additional finger-fu and attention. Also moving selected code around (so I can make engine noises) is a must. Something about VS Code just feels wrong, but it's pretty much exactly enough of an "IDE" for me. Tho, I strongly dislike the project based file management. Would like to have a solid vim setup instead.
- throwawake 5y agoDebugging is one of the reasons I keep using vscode. There is vimspector but I never tried that. For code-completions coc.nvim offers similar config and plugins as vscode. There is official lsp support for neovim now but coc.nvim works fine.
- markenqualitaet 5y agoThanks.
- plainnoodles 5y agoIME, it's because when you view vim as just another element in a list of "things that let me write code into files", where sibling elements are "IntelliJ", "vscode(ium)", etc, then vim comes off as looking like "gedit but with keyboard shortcuts and no discoverability, oh but you can research and install and configure a million plugins with no overarching design cohesion and you also have to maintain and update them". As opposed to many other editors/IDEs that are designed holistically and more intentionally, and have a much higher "just works" and discoverability factor. From that angle, yeah, it's probably fair for people to look at vim and go "what even is this". I think the right way to look at vim is "it's a powerful editor that is installed on almost every linux box everywhere that is deeply customizable and extremely flexible". Seldom a week goes by where I'm not ending some ridiculous shell pipeline incantation with "| vim -" to dump it into vim and then do further investigation there (with regex, find/replace, etc etc support). So, I consider myself a vim fan, but I don't use it for day-to-day coding but I still consider it an important tool in my toolbox. I do think there's a crowd, too, for whom customizability for the pure sake of customizing is a big feature. And that's fair too. But I think that really tends toward being for amusement rather than productivity gains. Which is fine! Lots of software is for having fun, and having fun adjacent to being productive and make it easier to be productive. So I'm really not bashing anyone here, promise!
- kedean 5y agoI hate to admit it, but I've been wondering for literally years how to pipe stdin to vim properly. You've changed my life.
- fartcannon 5y agoLike most F/OSS, Vim doesn't have a marketing budget and VSCode does.
- hasperdi 5y agoNot sure VS Code has a marketing budget either. I think the difference is the appeal, VS Code as a product is more appealing to many people.
- fartcannon 5y agohttps://www.statista.com/statistics/506534/microsoft-sales-marketing-expenditure/ https://www.statista.com/statistics/506534/microsoft-sales-m... According to that, Microsoft's budget was 20 billion. I bet quite a bit of that goes towards convincing developers to lock into their ecosystem
- xwolfi 5y agoIt's the time wasted. Look at a guy merging 30 conflicts in text mode for an hour :D I think there can be clever specialized vim gurus, but god the ones I work with just struggle so much while idiot me click 3 buttons in an IDE and move on. We're not paid to be clever, we're paid to make money.
- dpbriggs 5y agoEmacs magit and smerge mode makes this a breeze.
- siproprio 5y ago> god the ones I work with just struggle so much while idiot me click 3 buttons in an IDE and move on. Like I said in the other thread about vscode: If you assume whatever's been done here's been done wrong it saves the company time and money, we know it's fucked up that's why we called you.