When I was in high school I found Sublime Text and learned “multiple cursors”. Since then, I’ve transitioned to vscode, mainly because I need LSP (without too much configuration work) for my work.
I keep hearing about how modal editing is faster and I would like to switch to a more performant editor. I’ve been looking at helix, as the 4th generation of the vi line of editors. Is anyone using it? Is it any good for the main code editor?
The problem that I have is that learning new editing keybindings would probably take me a month of time, before I get to the same amount of productivity (if I ever get here at all). So I’m looking for advice of people who have already done that before.
My code editing does involve a lot of “ctrl-arrow” to move around words, “ctrl-shift-arrow” to select words, “home/end” to move to beginning/end of the line, “ctrl-d” for “new cursor at next occurrence”, “shift-alt-down” for “new cursor in the line below”, “ctrl-shift-f” for “format file” and a few more to move around using LSP-provided “declaration”/“usages”.
I would have to unlearn all of that.
Also, I do use “ctrl-arrow” to edit this post. Have you changed keybindings in firefox too?
Well, I’ve successfully used LSP for Sublime Text before. Would probably still use it if I hadn’t transitioned to Neovim recently.
Do you have a minute to talk about my lord and savior VIM? Wanna see my dot files?
I mainly work with C#, where I use Visual Studio. I think I mainly changed bindings for expand selection, and go to definition, declaration, implementation (ALT+A/+S/+D). All other bindings work out for me.
Cursor and selection “jumping” with CTRL and SHIFT, and using multiple cursors is a regular occurrence for me. I largely keep using keyboard, but for navigating I do often switch to or combine it with mouse.
When it’s not C#, it’s often VS Code, or otherwise Notepad++ for non-IDE simple editing. For even simpler quick edits I also use Double Commanders integrated text editor.
I use TortoiseGit, and its diff editor. I sometimes make changes there too. I also occasionally use KDiff or Winmerge.
I think whether it’s worth to learn a new one should be determined by 1. what are your pain points/shortcomings, 2. what are the promises or your hopes, and 3. testing it out.
If you explore a promise and quickly find it not useful to you, it may be easy and simple to dismiss a switch without investing more.
Have you ever tried Rider? I found it such a pleasure to use in place of Visual Studio and I’ve never looked back.
Any times I’ve loaded VS since it just feels so slow in comparison.
VSCode with the Vim plugin most of the time. Vim if I’m just editing something small and was already in a terminal.
Every IDE worth trying has Vim mode or a plugin for it, you don’t need to use actual Vim to benefit from it!
I’ve used everything, vim, nvim, emacs, visual studio, vscode, sublime, codeblocks, android studio, xcode, bloodshed, intellij, eclipse, VB, geany, dreamweaver, qt, atom, and cursor (even though it’s really just a plugin)
It doesn’t matter. It will never matter. I use vscode today because it handles everything I throw at it and it’s easy to make extensions for. Or cursor if I’m feeling lazy, the agentic mode with claude is pretty damn good if your codebase is well established.
Don’t get hung up on the editor, just use the tools available to get the job done, at the end of the day programming is converting concepts to text.
Why do people use vscode over codium? (Minus the two people who actually know the answer)
Android Studio or VSCode usually.
But really, there’s no single best option here - use whatever works the best with you and the tech you’re targeting. The same advice applies for programming languages, libraries and just about everything in tech
Vscode. I am surprised to see a lot of people still use sublime text. I was a long hold out on that one but it’s just so much worse than vscode in every way.
I switched to and exclusively used vim for about a year. I switched back to Sublime one day, and found I was like 10x more productive and comfortable.
Just use the editor you like. There’s no right or wrong answer!
… And btw, Sublime 4 has improved LSP support. Just install the base LSP plugin + plugins for the languages you want. Some even give the option to install the LSP server automatically if if’s not detected.
VS Code with your favorite plugins is pretty fantastic for any editing in my experience. I’ve tried others and they do seem to work well, but not well enough to warrant switching, and they often come with quirks that are just annoying enough to make me want to switch back.
I suggest trying others to know what’s out there, even if you ultimately end up back on VS Code.
+1 for Helix. Selection then action always made more sense to me than action then selection.
I use JetBrains Rider for dotnet (with Vim emulation), VS Code for general misc code editing (with Vim emulation), and NeoVim for quick in-terminal edits and Git workflows. I even have vi-mode enabled in my terminals, but I haven’t bothered trying to do it in browser yet.
My experience is that modal editing is only a little faster, but it’s much more comfy, even fun! I enjoy coding with modal editing much more so than modeless. Being able to zip around the code without having to move my fingers to the arrow cluster just feels nice.
Don’t Speculate
Go to Twitch/YouTube. Watch a senior Vim/Jetbrains/Emacs/VS Code/Helix churn out code for a hackathon/advent-of-code, and see what you are (or are not!) missing out on.
If you have “how the hell did they just do that” moments, figure out what that feature is, and STEAL IT. If its too hard to steal, then you are probably being limited by your editor.
- If you’re going to try modal editors, sooner is exponentially better. Probably start with Vim bindings for VS Code.
- If you’re not going to go modal, then make absolutely sure you don’t bottom out. To be frank, Ctrl+D is the tip of the iceberg. Half the benefit of modal editors is, mastery is mandatory; they chase you around with a 10k volt taser until you’ve got 100 instinctual shortcuts. Hardly anyone mentions this but Go beyond/outside your editor: At the OS level, use spacebar as a modifier key, where holding spacebar converts your WASD into arrow keys. Then disable your normal arrow keys. Something like that will get you vim-like benefits, but in every app, and without a learning bump instead of a learning mountain. For VS Code, get cursor jumper extensions like Mario (block jumper), get cursor-alignment extensions, write boatloads of custom code snippets, get a macro record+replay extension, make a jump-to-next quote, jump to next bracket, install sequential number generator extension, a case change (camel case, snake case, etc) extension, sort lines, case-preserving rename. If you can avoid bottoming out, and keep learning, you’ll likely never feel that you are missing out on whatever modal editor people are swearing by.
I get this, but an IDE should be invisible and grow as you do and not require you to learn lots of janky things before it becomes a little bit useful for you.
Need the basics, great, here they are. Don’t understand some advanced feature? Well the IDE has it here, but it isn’t in your way, mess with it as and when you want. It’ll still be there.
I don’t think one IDE does everything for different languages and its ok to swap editors depending on your workflow, your project and your ever-changing skillset.
I get this, but
Why not say “I get this, and …” ?
I don’t think the idea of a learn-as-you-go editor goes against the idea of watching skilled devs with their favorite tool
nano is the best (imho) for up to medium size files. It’s preinstalled in most Linux boxes , it’s simple and flexible enough, takes a minimal amount of time to learn basic for keys and then use them all the time
You should check out Micro. It’s a slightly more sane alternative to nano:
cat << EOF # [[content here]] EOF > file.txt
On a more serious note: Neovim for quick file-edits, doom-emacs as my IDE.
Doom-emacs does most of the stuff you are already using out of the box, is highly configurable and it lets you use vim-keybindings. It’s also free (as in freedom) software!
this, evil is the real 4th generation vi