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
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.
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.
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.
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.
Why do people use vscode over codium? (Minus the two people who actually know the answer)
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.
Helix because it's easy to setup and hassle free, and it runs well on my 2009 ASUS Eee
@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.
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
If I'm working on a Qt project, I use Qt Creator, for a Java project I use Eclipse, otherwise I use VSCode.
Mostly emacs, vi, or what IDE I happen to be using like Eclipse.
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.
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
Well, I've successfully used LSP for Sublime Text before. Would probably still use it if I hadn't transitioned to Neovim recently.
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
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...
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
seeing mscode/codium/vswhatever makes my brain hurt. geocities of code. now i am using Zed. problem solved.
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
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.
Sublime text, vi, eclipse, emacs depending what I'm doing
I personally enjoy using pycharm and vscode, depending on what I'm working on and what tools I need/want.