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

Programming

18154 readers
83 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 3) 41 comments
sorted by: hot top controversial new old
[–] benjhm@sopuli.xyz 1 points 2 days ago

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

[–] schnurrito@discuss.tchncs.de 2 points 2 days 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.

[–] adrianhooves@lemmy.today 1 points 2 days ago

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

[–] jjjalljs@ttrpg.network 1 points 2 days 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

[–] chrastecky@phpc.social 2 points 2 days 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.

[–] Kissaki@programming.dev 2 points 2 days ago* (last edited 2 days ago) (1 children)

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.

[–] Rogue@feddit.uk 1 points 2 days ago (1 children)

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.

load more comments (1 replies)

Helix’s is amazing. It’s pretty simple and it has tons of out of the box features like lsp support. I switched from vim and never looked back tbh. It’s far superior

[–] Feyd@programming.dev 2 points 2 days 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.

[–] verstra@programming.dev 2 points 2 days ago

That's the thing: I do feel vscode being slow. On my work machine, it's fine - it takes about two seconds to open a project from start. But on my older laptop, that's a solid 10 sec before I can start editing.

load more comments (1 replies)
[–] ArseAssassin@sopuli.xyz 2 points 2 days ago (1 children)

Well, I've successfully used LSP for Sublime Text before. Would probably still use it if I hadn't transitioned to Neovim recently.

[–] verstra@programming.dev 1 points 2 days ago

I do still use sublime as a "note" app, where I a "cheatsheet" open with a bunch of common commands I need for our project + a todo.

[–] MyNameIsRichard@lemmy.ml 2 points 2 days ago

If I'm working on a Qt project, I use Qt Creator, for a Java project I use Eclipse, otherwise I use VSCode.

[–] RedSeries@lemmy.blahaj.zone 1 points 2 days ago

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

[–] gamer@lemm.ee 1 points 2 days ago

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.

[–] AdamBomb@lemmy.sdf.org 1 points 2 days ago

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.

[–] GissaMittJobb@lemmy.ml 1 points 2 days ago

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

[–] qaz@lemmy.world 1 points 2 days ago

I mostly use Jetbrain's IDE's and NeoVIM when changing configs through the terminal.

[–] Eheran@lemmy.world 1 points 2 days ago

Spyder (with conda) Arduino IDE

[–] Sickday@kbin.earth 1 points 2 days ago (2 children)

Depends on what device I'm using. On my tower(s), I'm typically reaching for Rider, Pycharm, or Zed. On my laptop(s) it's pretty much always Helix or Zed. On servers it's vim 100% baby. I've gotten pretty comfortable working with theses tools, so I haven't really needed to look into alternatives at all.

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

I use the vi option or plugins for Sublime, PHPStorm, and Pycharm or whichever IDE I'm using. Works for chrome and Firefox too.

[–] mbirth@lemmy.ml 1 points 2 days ago

Panic Nova on macOS, VSCode on Windows, neovim in the Shell.

[–] pancake@lemmygrad.ml 1 points 2 days ago

I use either the default GUI text editor from each distro or Vim with stock configuration. I must say it does take surprisingly little to get up to speed with Vim, but I still struggle with specific things like moving code across files.

I haven't changed any keybindings in firefox, but heard qutebrowser is nice for such use case.

[–] Arghblarg@lemmy.ca 1 points 2 days ago

MicroEmacs http://www.jasspa.com/

No unicode support though. For that try

https://bionic.bloovis.com/cgit/microemacs/

.. but for work I still use Eclipse (sigh)

[–] meldrik@lemmy.wtf 1 points 2 days ago (1 children)
load more comments (1 replies)
[–] FizzyOrange@programming.dev -2 points 2 days ago (1 children)

I've tried to learn Vim in the past but IMO it is not worth it at all. In a world without multiple cursors... sure, maybe. With multiple cursors? No way. I can can edit just as fast as I've seen any Vim user do it, and without having to remember a gazillion mnemonics and deal with the silly modal thing.

Multiple cursor editing even has some significant advantages over Vim style, e.g. it's interactive, so you can do your edit gradually and go back if you make a mistake. Rather than having to write a complex command and only finding out it if works at the end. (If you've used regex find & replace you'll understand that problem.)

I'll probably get downvoted for this since Vim is kind of a cult, and Vim users get a sense of superiority from it. Kind of like audiophiles - they don't appreciate it if you tell them their £10k valve amp doesn't actually sound any better than your £1k digital amp.

For editing on remote computers I use VSCode remote or Micro for quick tasks.

load more comments (1 replies)
[–] melezhik@programming.dev -2 points 2 days ago* (last edited 2 days ago) (1 children)

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

[–] Rogue@feddit.uk 1 points 2 days ago (1 children)

You should check out Micro. It's a slightly more sane alternative to nano:

https://micro-editor.github.io/

[–] melezhik@programming.dev 1 points 2 days ago

Thanks, will take a look

[–] TrickDacy@lemmy.world 0 points 2 days ago

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.

[–] shortrounddev@lemmy.world 0 points 2 days ago

I used to use vim but imo it's not worth the time it requires to configure to get working properly. These days I don't code without a debugger so if there's not a good way to set breakpoints I don't even start

[–] yournamehere@lemm.ee 0 points 2 days ago (2 children)

seeing mscode/codium/vswhatever makes my brain hurt. geocities of code. now i am using Zed. problem solved.

load more comments (2 replies)
[–] Shareni@programming.dev 0 points 2 days ago

Doom Emacs and lazyvim nvim.

Don't know about helix, and don't really care.

Modal is incomparably more comfortable, that's the main benefit.

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

Do you imagine vi-based editors don't let you use your mouse or what? Go through vim-tutor, learn the basic shortcuts you need, and you're back to your old productivity in a few days. You don't need to learn vi" to select a string, you can just use your mouse.

No offense to you or your habits, but C-arrow is an idiotic movement scheme. If you have to leave the home row to move around the text, you fucked up.

Just go through vim tutor...

load more comments
view more: ‹ prev next ›