I 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.
Why 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.<p>1: <a href="https://github.com/vscode-neovim/vscode-neovim">https://github.com/vscode-neovim/vscode-neovim</a>
Ha, I'm like this but <i>moreso</i> 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.)<p>I feel the same way about vim that I do learning cursive; I honestly wish I could <i>erase</i> it from my brain because -- and it took a long time for me to figure this out -- it, for me, brings NO advantages.<p>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.
> excepting those poor, sad professionals who have to write languages that can only be written with a special, hyper-bloated text editor [1].<p>> 1. I'm talking about C# and Java<p>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!
>But there is a downside to Vimming. It's a weird fringe interest, even amongst software developers who are already a weird fringe group<p>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.<p>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)<p>[1]<a href="https://survey.stackoverflow.co/2023/#section-most-popular-technologies-integrated-development-environment" rel="nofollow noreferrer">https://survey.stackoverflow.co/2023/#section-most-popular-t...</a>
Nice 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
Almost 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.
I 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.<p>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.<p>[1] <a href="https://marketplace.visualstudio.com/items?itemName=vscodevim.vim" rel="nofollow noreferrer">https://marketplace.visualstudio.com/items?itemName=vscodevi...</a><p>EDIT: Years of "fixes" I've had to figure out and add: <a href="https://doc.xn0.org/.vimrc" rel="nofollow noreferrer">https://doc.xn0.org/.vimrc</a>
I used VSCode for a good 5 years. Before that, it was intellij (and long before that, eclipse).<p>I have switched to neovim and have been using it for the last 5 years. I haven't had a desire to move back.<p>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.<p>The only thing I truly miss about VSCode is how easy it is to set things up. In neovim it can be a PITA.
I 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.<p>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 <i>fast</i> 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.<p>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...
Similar 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).