neovim. i much prefer the motions of helix, but there’s just some plugins i can’t live without.
Programming
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
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.
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)
vscodium. Easy to use for beginners (i'm a beginner too), fully open-source, all microsoft tracking binaries removed. Aviable for Windows, Linux, macOS, darwin, propably bsd, or even as a webview, and supports a lot of architectures. Great for intrepeted languages, but supports compiled ones too
Netbeaners! Unite!
A coworker has told me that in a previous job, he was talking to an intern and mentioned IRC and intern asked what was that. He told him that it is the "old instant messaging", which another senior coworker overheard and chimed in that "no, IRC is the new messaging thing".
If someone would be asking be what netbean is, I'd say "an IDE from the old generation of editors", but I guess that is all relative :D
Well, I've successfully used LSP for Sublime Text before. Would probably still use it if I hadn't transitioned to Neovim recently.
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.
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
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.
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.
Sublime text, vi, eclipse, emacs depending what I'm doing
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
Doom Emacs
I used to use VSCodium, but in my quest to touch the mouse as little as possible I switched to Neovim.
I use VSCodium atm.
Zed and Helix for the GNU/Linux side, and VSCodium for the Windows side.
I switched to helix last year after over twenty years of vim. I really like helix, but it did take some getting used to. Using multiple cursors instead of repeated commands etc
Zed, for the last few months, and happy with it (previously vscode) - I code in Scala, so Metals provides the complex hints / actions.
Dev of 25 years here: Cursor, for the LLM integration. It's based on VSCode, just way tighter AI integration. It's so good.
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 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.
I mostly use Jetbrain's IDE's and NeoVIM when changing configs through the terminal.
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.
Is the lack of debugger in Zed not a problem for you?
Nah. When I'm using Zed it's typically for Elixir/Erlang and I'm usually run debugging tools outside of Zed in a separate shell. When I'm using iex
and/or observer
I like to use a full screen terminal on a separate workspace/tab than the editor itself