6 ms·
The Loneliness of the Mid-Level Vimmer
- progre 3y agoNice swipe at C# (and Java). It's not true anymore for .Net Core though (that you need the bloated editor). All of the tooling is command line now
- jwhiles 3y agoThe only time I had to work with C# it was a non .Net Core project, and I had to run the editor in a virtual windows machine running on a Macbook. It was a vaguely traumatic experience.
- zknill 3y ago> excepting those poor, sad professionals who have to write languages that can only be written with a special, hyper-bloated text editor [1]. > 1. I'm talking about C# and Java I write Java in vim, and it's pretty usable. Coc.nvim and coc-java fix code completion. There are also plugins to make running tests, and the debugger usable too. I can't stand the start-up time of IntelliJ!
- mettamage 3y agoI'm happy you mentioned that! I didn't know one could use Java in vim. If I'm using Java again this is the way I'm gonna go. I'm not a great vimmer, but I survive. Wanna be survivable in vim? I know of _the course_ that teaches you enough vim to be survivable in just a few hours! You think I'm selling snake oil? Nay! On Mac/Linux type: vimtutor Do all the lessons Then a month later do all of them again A few months later do them again You're now survivable in vim and it only took you a few hours ;-)
- pfesenmeier 3y agoC# support in neovim is pretty solid, too. Omnisharp, Roslynator, Neotest, nvim-dap. Not much I feel I’m missing
- subjectsigma 3y agoLong time on and off vim user. Stopped reading after the first obnoxious paragraph. Maybe mid-level vim users are lonely because they’re such jerks.
- JoelMcCracken 3y agoYeah, you really don't _have_ to be insufferable. I use emacs and evil/vim mode, have done for years, and it's not like I bring it up all the time or whatever, or shame people for using vscode. It is just a tradeoff, like anything else. Using a niche tool means that those not in the niche are alienated, but those in the niche are drawn to you/familiar. Any time someone brings it up, I basically say "yeah, I use this tool, but it really is just a tool that I personally choose, and can see how someone would pick another one. Not everyone wants to fuss with their environment all the time to get their job done." etc. I both genuinely believe this and think its a disarming POV. Really, at this point in my career, I have a massive quantity of legacy knowledge that informs my choices. Since I know emacs lisp, and have already expended the effort to learn and use it, it continues to be worth my while to work in this environment. For someone who doesn't have this legacy knowledge, their value calculations won't work out in the same way.
- jack_pp 3y agoI suggest people learn the basic movements and use whatever editor they want with the vim extension. To me that's best of both worlds and what I personally use
- buddhistdude 3y agoSounded like sarcasm to me.
- zogrodea 3y agoFunnily enough, the author says that "all the people who do use Vim are completely insufferable" in the third paragraph. Maybe the author was trying to demonstrate that.
- sodapopcan 3y agoI did 100% pair programming with a team that didn't standardize on editors or keyboards. We solved the issue in the article by just never using each other's machines. It was very rare that the navigator would want to type something but if they did, it was usually just a line or so, so we would "strong" pair, ie, tell the other person exactly what to type. If we wanted to switch the driver/navigator role, we would just make a WIP commit, force-push, then pull and `git reset head^`. It was only ever two people working on a branch at a time, so the force pushes weren't scary. We did this without issue for three years.
- PartiallyTyped 3y agoUnfortunately my employer doesn't allow force-pushing :( Instead we resort to using jetbrains stuff.
- diarrhea 3y agoSame at my place. I think it’s for compliance reasons, but it feels patronising. A bit like taking away the sharp tools so us dummies cannot hurt ourselves. Next, maybe No-Code GUI programming because a real language is too scary too?
- sodapopcan 3y agoI understand not allowing force-pushing on main, but pretty weird for branches you own and no one else uses.
- kartoshechka 3y agogolang almost accomplished to be non scary language, but the users have been fighting back
- MarkusWandel 3y agoI developed the finger memory for vi when I first encountered it - in 1987! - on a Unix system on which there weren't any other fullscreen editors. Like with the Perl programming language, I probably understand about 5% of the capabilities of a modern vi implementation. But those are hardcoded into muscle memory for the rest of my life. ddp to swap a couple of lines or :e! to undo your edits and reload is fast when you don't have to think about it, and ditto is moving around with just alphanumeric keys - not having to move the hands to a an arrow pad. Probably vi appeals less to non-touch-typists. But am I insufferable about it? Nope. I just like it this way. Just fine to drop into an editor of choice if someone else needs to collaborate. And I'm aware that my younger, more mentally elastic colleagues have all developed wizardly knowledge of Visual Studio Code... hmmm, maybe it has vi bindings...
- MarkusWandel 3y agoSo basically, learning vi was about the same as only having a stickshift car available and wanting to drive it. You learn what you need to learn. And once you get the muscle memory, you actually prefer it even though it's weird and kind of obsolete. I've had to give up on the stickshift, but I'm guessing vi will remain available indefinitely. What incentive for someone to learn vi now? Very little. So it goes.
- acuozzo 3y ago> What incentive for someone to learn vi now? Very little. I've seen programmers on multiple occasions spend 30+ minutes writing a script to do what could otherwise be accomplished in less than thirty seconds with vi(m). I often see HN users dismiss vi's approach to editing as if it were some kind of micro-optimization, but consider what impact writing the aforementioned script has on flow. It's worse than the resident office WaterCoolerGuy chewing your ear off for 30 minutes, IMO.
- MarkusWandel 3y agoWell part of the "5% of a typical modern vi clone" capabilities is applying a regex over a range of lines, and judicious use of the "." command. Yes, that often replaces writing a script. But probably still not worth learning the editor for.
- clircle 3y agoI think vim users highly overestimate their productivity and just like the way using hotkeys feels.
- smabie 3y agoThis is a realization I had after finally ditching Emacs / keyboard only life. Keybindings seem to engage your brain in a different way and make the activity more fun, but I don't think it's actually any more productive.
- Miner49er 3y agoExcept in most cases I would say having more fun results in more productivity.
- elliotec 3y agoIt'd be interesting to do a comparison. But to your point, I don't think people use it as much for productivity gains as just the fun of it.
- rochak 3y agoCan confirm. I prefer using Vim because it makes writing stuff fun. Never thought I could ever write for fun.
- Jensson 3y agoI've worked with many productive people and the speed they write code at never was a big factor. The first thing you should optimize for is the speed you read code at, that makes a big difference, so look for tools or IDE's that helps you explore and read code faster. Debuggers, jump to reference, lookup usages of symbols and so on are all very important things to have.
- sneak 3y agoThe time spent doing input is a tiny fraction of time spent coding, yes. However, it is all wasted time, and reducing it leaves more time free for thinking. There are many syntax-aware vim verbs (ci[ or ci” for example) that save a lot of time and let me get back faster to thinking about the what and not the how. Too much time on the how and my ADD kicks in, sure as someone walking into my office and trying to talk to me.
- tkzed49 3y agoWhy can't you use vim and VSCode? I use the neovim extension for VSCode[1] and it works great! That gets me real vim input and the VSCode extension ecosystem. 1: https://github.com/vscode-neovim/vscode-neovim https://github.com/vscode-neovim/vscode-neovim
- sneak 3y agoFor me, a major reason is the pervasive spyware baked into VSCode. A lot of the code I write are things I would prefer Microsoft and the US military-industrial complex (of which MS is a big part) not have any data about.
- mmh0000 3y agoHello, and welcome to vscodium: https://github.com/VSCodium/vscodium https://github.com/VSCodium/vscodium
- loloquwowndueo 3y agoVscode is designed to fracture and vscodium doesn’t escape this. https://ghuntley.com/fracture/ https://ghuntley.com/fracture/
- sneak 3y agoThe point of using something like VSCode is access to all of the features enabled by proprietary extensions. VSCodium has none of these and goes back to being worse than vim. Microsoft is just engaging in open source cosplay when they publish the source code. They’re not interested in software freedoms as a concept (in fact, they are interested in explicitly denying them to users) and they certainly aren’t interested in enabling software freedoms via their releases (source code or otherwise).
- mmh0000 3y agoWeird that you couldn't get extensions working. Everything I've wanted works in vscodium. The only thing I couldn't get working is the remote sharing where you can connect to someone else's instance and co-edit (remote ssh editing works). Extensions that I currently have installed: * https://github.com/alefragnani/vscode-bookmarks https://github.com/alefragnani/vscode-bookmarks * https://github.com/gitkraken/vscode-gitlens https://github.com/gitkraken/vscode-gitlens * https://github.com/redhat-developer/vscode-xml https://github.com/redhat-developer/vscode-xml * https://github.com/redhat-developer/vscode-yaml https://github.com/redhat-developer/vscode-yaml * https://github.com/znck/grammarly https://github.com/znck/grammarly * https://github.com/VSCodeVim/Vim https://github.com/VSCodeVim/Vim * https://github.com/mousavian/ssh-config-syntax-highlighter https://github.com/mousavian/ssh-config-syntax-highlighter * https://github.com/golang/vscode-go https://github.com/golang/vscode-go * https://github.com/prettier/prettier-vscode https://github.com/prettier/prettier-vscode * https://github.com/braver/vscode-solarized https://github.com/braver/vscode-solarized
- arandomhuman 3y agoSimilar to the author, Telescope really got me to stop using the file tree and really begin to prefer neovim over vscode (well that and the amazing language server support).
- roblh 3y agoTelescope is great. I’ve been trying to move to full neovim (astrovim to start with) for while since I’ve been using vscode-nvim, but the part I’ve had the hardest time with is tab/buffer/window management. I never really know what’s going to happen when closing tabs or panes. Sometimes it’ll close but leave a weird empty tab in place, and I never know what closing something is going to do to the layout of panes. Also, all the actual little tabs at the top stay left aligned rather than attaching to the pane that they’re a part of and it’s always confusing. Maybe I’m doing it wrong, but it’s far better in vscode for now.
- tmaly 3y agoI used Vim since 1996, and I still use it. But I also use PyCharm and VS Code now too.
- Barrin92 3y ago>But there is a downside to Vimming. It's a weird fringe interest, even amongst software developers who are already a weird fringe group Is that even true though? The VsCode Vim extension has over 6 million users, pretty much every editor ships with a vim mode and if I had to guess most developers are at least cursory familiar with vi editing motions. The latest Stackoverlfow survey put vim at a respectable fith place[1] with 22% of devs using it. I've never felt vim is some sort of fringe stumbling block, and that's coming from someone using Emacs day to day. (where a good chunk of people use evil mode) [1]https://survey.stackoverflow.co/2023/#section-most-popular-technologies-integrated-development-environment https://survey.stackoverflow.co/2023/#section-most-popular-t...
- deleted 3y ago[deleted]
- jrm4 3y agoHa, I'm like this but moreso because I don't strongly professionally program. (I teach IT in a presently not super-technical program, and get a pretty good bit of freedom and variance in what I do.) I feel the same way about vim that I do learning cursive; I honestly wish I could erase it from my brain because -- and it took a long time for me to figure this out -- it, for me, brings NO advantages. Now, what would be nice is something as extensible and potentially light as vim but, first and foremost, played nice with other "regular people" programs and keybindings. Maybe it's out there, but I haven't found it yet.
- submain 3y agoI used VSCode for a good 5 years. Before that, it was intellij (and long before that, eclipse). I have switched to neovim and have been using it for the last 5 years. I haven't had a desire to move back. There's something about using the keyboard to seamlessly transition between tabs, buffers, terminals, and control window positions and sizes that makes me enter into a flow state a lot easier than other editors. The only thing I truly miss about VSCode is how easy it is to set things up. In neovim it can be a PITA.
- mmh0000 3y agoI was a long, long-time Vim user from ~2005 to ~2020; I loved and still love Vim. But, man, it's a time-sink. Sure, I can edit fast, but I first need to spend an hour fixing some random thing that annoys me in my vimrc. After pairing with many co-workers using vscode, I saw the light and had to switch. Then I discovered vscodevim[1], and now I have the best of both worlds! The ease-of-use and "it just works" of vscode, and the power of Vim when I need it. [1] https://marketplace.visualstudio.com/items?itemName=vscodevim.vim https://marketplace.visualstudio.com/items?itemName=vscodevi... EDIT: Years of "fixes" I've had to figure out and add: https://doc.xn0.org/.vimrc https://doc.xn0.org/.vimrc
- sodapopcan 3y ago> but I first need to spend an hour fixing some random thing that annoys me in my vimrc. That's a not universal problem, of course. I barely touch my vimrc anymore. I've paired with vscoders a bunch and never saw any light ;)
- deleted 3y ago[deleted]
- rednafi 3y ago[dead]
- siegecraft 3y agoAlmost every so-called bloated editor has a vim plugin (I guess that's an upside of their bloat): vscode, intellij and friends, even vimium for the browser. And although I wouldn't argue that vim (or, to be precise a subset of vim functionality in editor plugins) makes me more productive I would argue that vimium does.
- fietske 3y agoI use Vim, not neoVim. Combined with Tmux it's great. Any strong arguments in favor of neoVim?