this post was submitted on 09 Feb 2025
108 points (99.1% liked)

Programming

18142 readers
301 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

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?

(page 2) 50 comments
sorted by: hot top controversial new old
[–] breakcore@discuss.tchncs.de 11 points 1 day ago (1 children)

Helix is absolutely wonderful.

Used to use Vim/Neovim, but the hassle of setting it up and maintaining huge configuration files was a pain (for me).

Also I never really got it working the way I wanted and never had LSP working for all the languages I needed.

Helix on the other hand. My config file is under 20 lines, LSP works super for all my needs. Well thought out keybindings (mostly) and overall a joy to use.

Nice features and fast.

Still a bunch of things missing, it is a rather young piece of software, but I have been using it as my only editor for the last 1 1/2 years.

load more comments (1 replies)
[–] 0101100101@programming.dev 3 points 1 day ago* (last edited 1 day ago)

Amateurs. I use butterflies.

https://xkcd.com/378/

[–] communism@lemmy.ml 4 points 1 day ago

I just use Vim out of habit. I've been using it as my main text editor since I was like 13 or so, maybe more like 10 I don't really remember. It works perfectly well for the vast majority of my use cases. I use Jetbrains IDEs if I feel I need the power of a full IDE. Jetbrains has an IdeaVim plugin if you want it to be a modal editor, or if your fingers are accustomed to Vim keybindings.

[–] Agility0971@lemmy.world 9 points 1 day ago (1 children)

I use neovim but i think helix is honestly better ootb.

[–] wazoobi@lemm.ee 10 points 1 day ago (2 children)

I took a look at Helix when I was trying to learn vim and found it very easy to get started with, but was concerned about missing out on learning more standard vim bindings and functionality.

I found LazyVim + NeoVim got me pretty much the same experience without diverging as much from vim. Mostly I appreciate having access to a cheatsheet for commands.

load more comments (2 replies)
[–] fxomt@lemmy.dbzer0.com 9 points 1 day ago

On windows i use vscodium, on linux neovim.

As others say i think helix is cool, but the limited customization is kind of meh for me. I love the keybinds for it though.

[–] jjjalljs@ttrpg.network 1 points 1 day ago

I use pycharm at work for most things. Work paid for it. It has some nice stuff i like. I'm sure other editors do all of this, too, but nothing's been causing me enough pain to switch

  • Database integration. Little side panel shows me the tables, and I can do queries, view table structure, etc, right here
  • Find usages/declaration is pretty good. Goes into library code, too.
  • The autocomplete is pretty good. I think they have newfangled AI options now, but the traditional introspection autocomplete has been doing it for me.
  • Can use the python interpreter inside the docker container
  • The refactor functions are pretty good. Rename, move, etc
  • Naive search is pretty good. Can limit it to folders, do regex, filter by file name, etc

It does have multiple cursors but I've rarely needed that.

I use sublime for quick note taking. Mostly I like that it has syntax highlighting, and it doesn't require me to explicitly save a tab for it to stay open

[–] PumaStoleMyBluff@lemmy.world 3 points 1 day ago* (last edited 1 day ago)

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!

[–] steventhedev@lemmy.world 7 points 1 day ago (2 children)

Throughout my career, I have used (in no particular order)

  • Eclipse (as Android Studio)
  • IntelliJ (as Android Studio)
  • SublimeText
  • VS Code
  • IntelliJ (as IntelliJ)
  • various CLI editors when sshing into servers (vim, nano, a few others)

Switching your muscle memory takes a long time, which is why you have things like spacemacs, or different keybind presets for almost all of these editors.

There is more value in understanding how to extend and customize your editor than in searching for a new one. Use whatever your workplace provides the best support for, and then customize it from there.

[–] Dark_Arc@social.packetloss.gg 3 points 1 day ago* (last edited 1 day ago)

There is more value in understanding how to extend and customize your editor than in searching for a new one. Use whatever your workplace provides the best support for, and then customize it from there.

I think there's something to be said for shaking up your environment periodically as well and trying new things. Sure, there's a week where you edit at a snails pace, followed by a month where you edit a bit slower than normal, but different tools really do have different pros and cons.

For the code bases I've worked in, this evolved from necessity as the code files were so large many editors were struggling, the rules for the style so custom that editors can't be properly configured to match, or the editor performance in general was questionable.

I went through a journey of sorts from IDEs to Electron based editors to Emacs and currently am working with Kakoune (and I've passed over a bunch of other editors like Sublime, Helix, and Zed that couldn't meet my requirements or didn't match my sensibilities -- even though a thing or two here or there really was excellent). Pretty much every change has been the result of the editor pain points that couldn't be addressed without actually working on the editor itself.

load more comments (1 replies)
[–] bitchkat@lemmy.world 2 points 1 day ago

Mostly emacs, vi, or what IDE I happen to be using like Eclipse.

[–] flamingos@feddit.uk 7 points 1 day ago* (last edited 1 day ago)

I use Emacs and love it. It's an amazingly frustrating (and just plain amazing) piece of software, but it's hard to move away from it because it's the only thing like it. Maybe if Lem every gets mature enough I might switch.

I probably wouldn't recommend it though as it doesn't sound like what you're looking for.

[–] eronth@lemmy.world 2 points 1 day ago

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.

[–] 0x01@lemmy.ml 3 points 1 day ago* (last edited 1 day ago)

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.

[–] AbelianGrape@beehaw.org 1 points 1 day ago* (last edited 1 day ago)

I use vim, or spacemacs with evil mode (emacs distribution with sensible shortcuts and vim emulation). Or VSCode with spacemacs emulation.

You will pass your current productivity in less than a month. All of the things you describe are easily done in VSCode with vim emulation (I prefer the full spacemacs emulation but it's not actually a huge difference). You won't have to move your hands away from the normal typing spot on your keyboard -- no home and end, just 0 and $. No control+arrow keys, just w and b (or e or even more motion options). Highlighting is as easy as v and then motion commands. And there are so many more useful things that vim (and vim emulation) make simple and fast. Orthogonal VSCode features like multi cursors still work.

[–] aldalire@lemmy.dbzer0.com 0 points 1 day ago
[–] syklemil@discuss.tchncs.de 3 points 1 day ago

I've moved on from vim to neovim, and I think I'll continue using something in that family in the future. It's a pretty stable experience overall, but the inclusion of LSPs and tree-sitter have been good improvements too.

Ultimately editors are tools, similar to keyboards, os-es, screens, chairs, shoes and so on. There are some objective quality differences between a well-constructed tool and some slapdash nonsense, and there are a huge amount of subjective quality differences. What suits me may not suit you, and vice versa.

It's generally good to try out some new (to you) stuff and see if you like it. If you do, great; if you don't, well, now you know. I think my worst experience was with Acme (or Wily? can't remember), during a phase where I experimented with Plan 9 stuff. Ultimately very not my cup of tea, but apparently Rob Pike (who made it) and some other gophers still enjoy it? Which is good for them, just like it's good for me that I can choose not to use it. It's just personal tastes, and I still think it's good that I gave it a go.

The debate over holding down modifier keys vs modes is also a part of the Emacs vs vi debate from many decades ago. There might be some statistics for what works best for the most people now, but again, use what suits you. And try some new stuff when you get curious, it's generally good for you.

[–] dep@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

Dev of 25 years here: Cursor, for the LLM integration. It's based on VSCode, just way tighter AI integration. It's so good.

[–] benjhm@sopuli.xyz 1 points 1 day ago

Zed, for the last few months, and happy with it (previously vscode) - I code in Scala, so Metals provides the complex hints / actions.

[–] adrianhooves@lemmy.today 1 points 1 day ago

xfce text editor and sublime text, and vim but only when i want to work within the terminal

[–] schnurrito@discuss.tchncs.de 2 points 1 day ago

Most code I write is Java and I use IntelliJ for that. When I write Python I use PyCharm, anything else, Visual Studio Code or VSCodium.

All of these have plugins for vim keybindings which are always the first thing I install. I almost never disable them.

[–] chrastecky@phpc.social 2 points 1 day ago

@verstra I use Jetbrains for pretty much anything except C++, their editors are the best. I use it for PHP, Go, Java/Kotlin, C#, databases, Typescript and I'm probably missing something.

[–] PapstJL4U@lemmy.world 4 points 1 day ago* (last edited 1 day ago)

VS, VSCode, Sublime, Neovim,

I use Sublime for short scripts in Python, VSCode for angular|typescript, VS for c# and neovim for elixir, elm and all new stuff I learn on my own.

[–] wuphysics87@lemmy.ml 2 points 1 day ago

Why do people use vscode over codium? (Minus the two people who actually know the answer)

[–] slugr@leminal.space 3 points 1 day ago

neovim. i much prefer the motions of helix, but there’s just some plugins i can’t live without.

[–] troed@fedia.io 3 points 1 day ago (4 children)

Sublime Text.

The only thing I need from my editor is syntax highlighting and not be slow.

(Assembler, C, Python, Java and Bash are the languages I mostly work with)

load more comments (4 replies)
[–] Feyd@programming.dev 2 points 1 day ago (2 children)

I keep hearing about how modal editing is faster

I've always been skeptical that optimizing text input speed would make a significant difference to overall performance. IMO if you are unhappy with your setup then look around but if you're not you don't need to have FOMO about it.

[–] Maestro@fedia.io 4 points 1 day ago

It depends. For fixing bugs, text editing speed does not matter. For explorative and iterative design it can matter. It just needs to be fast enough to not distract you or hold you back

load more comments (1 replies)
[–] RedSeries@lemmy.blahaj.zone 1 points 1 day ago

I personally enjoy using pycharm and vscode, depending on what I'm working on and what tools I need/want.

load more comments
view more: ‹ prev next ›