The best code editor is the one that you enjoy using, because you're going to be using it a lot.
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 agree with this. In my opinion helix is the best code editor.
@LucidDaemon @Aurenkin out of curiosity, how long have you been using Helix and what do you like about it? I tried it awhile back and liked it, but it wasn't able to break VS Code's iron grip on my dev workflow.
About 6 months since I've switched away from vscode. To make Helix worth it you also need to use software that compliments it.
I work in DevOps, so I don't do a ton of programming but everything I do is via terminal. I use Kitty Terminal, ZSH with oh-my-zsh for the shell, Zellij for an emulation layer (think tiling and tab manager in kitty), nnn for in terminal file manager, and helix for editor.
I almost never leave the terminal now, except when web browsing.
I remember being really interested in Helix when it came out, but it didn't have a built-in file picker.
Is this still an issue for users? Is there a built-in solution, or a usermade solution to this?
Also, is there plugin support?
I can't use an editor without rainbow indent/brackets, without them code just takes too long to read that it becomes frustrating.
Pulsar is a fork of Atom, which was discontinued because almost everyone jumped ship to VSCode.
What does Pulsar do that is better than VSCode? All the features this article highlights are in VSCode too, and I can think of a bunch of features that Pulsar doesn't have (dev containers are a big one for me - they allow you to have different versions of the same software installed, depending what project you're working on right now... and you can work on/run both versions of the same software at the same time, on the same hardware... you can also emulate other CPU architectures in a dev container, some of the software I work with every day can't actually run natively on my hardware).
The author also makes some incorrect or misleading claims, specifically about emacs. I acknowledge there's a high bar for entry there and don't personally like emacs, but it's not modal, and it does have the ability to display images and markdown previews.
Well, it's not modal by default. It is if you want it to be.
Sure. But the author cites that as a disadvantage of emacs and links to an article about the person who invented ctrl-c
and ctrl-v
for copy and paste.
Had a distinguished collegue (from the Bell Lab days) say to me recently:
"IDEs take up a lot of RAM on my machine. Vim takes up a lot of squishy RAM in my head. I need squishy RAM to hold info relevant to problem solving, not options available in my tool chain."
While I agree with the sentiment, the key bindings have been burned into my less squishy ROM at this point, and I've got all banks of squishy RAM available π
hahaha good point.
That colleague, keep in mind is a bit older, also has Vim navigation burned into his head. I think where he was coming from, all these new technologies and syntax for them, he much rather prefers right clicking in the IDE and it'll show him options instead of doing it all from command line. For example docker container management, Go's devle debugger syntax, GDB. He has a hybrid workflow tho.
After having spent countless hours on my Vim config only to restart everything using Lua with nvim, I can relate to time sink that is vim.
Vim doesn't take any thought for me, it's all muscle memory.
The team also created the Electron Framework
π‘
The best code editor is the one that works well with your other tools, including your compiler and your keyboard.
Corollary: If you use an unusual compiler or an unusual keyboard, this may change what the best editor for you is.
I know several world class programmers, and interestingly, the commonality among them is that they all seem to use Vim as their code editor. Many people I know who think of themselves as world class programmers use Emacs.
What a burn!
More like a personal bias in the form of a distasteful snark that the author thinks is funny. Their demonstrated knowledge about Emacs in the article indicates the worth of such remarks.
Yeah, I commented elsewhere on the misinformation regarding emacs in the article.
As a former Vim user myself, I have to say I really dislike screensharing with coworkers who use Vim. They are walking me through code and shit pops up left and right and I don't know where it comes from or what it is I'm looking at. Code reviews are painful when they walk me through a large-ish PR.
These days, I tend to bring my vim navigation/key bindings to my IDE instead of IDE funcs to Vim. Hard to beat JetBrains IDEs, especially when you pay them to maintain the IDE functionality.
Pair coding with vim is a skill in itself (for the vim user). You can make things a bit easier to follow by making liberal use of visual mode for example. I have a CoworkerMode command that turns on smooth scrolling via vim-smoothie and cursorline, and I've also added some stuff to the neovim right-click menu so that I can explicitly right click go to definition for example. It can be worth switching editor sometimes, but it's not always worth it if you're in the middle of something.
Counter-point: Atom is terrible. Its electron competitors are terrible. Big IDEs are terrible. Simple text editors are terrible.
If you are under 50 and chose to learn vim or emacs, there is a 100% chance that you were also forced to learn latin at school and honestly it's not your fault that you turned out this way.
These are all the options. Sometimes all the options are terrible.
There are actually a lot of people learning latin
Yep, I learned a good bit of it in school. That shit's helpful.
Romanes eunt domus!
Me too, but I never found it helpful. What's your experience in using it in life?
Vim or emacs? I mean I know they were created a long time ago, but they are both pretty good pieces of software, both highly configurable. I don't understand people aversion to them, rather than having the false belief that they are too complicated? When in reality they just aren't intuitive in terms of modern stuff. But they aren't difficult, just different.
The key to being productive as a programmer is to have a great code editor
True true.
The best code editor came from GitHub
I'm out.
code is just text, so code editors are text editors.
What sets IDEs apart are their features, like debugger integrations, refactoring assists, etc.
I love command line Β± Vim and used solely it for a large portion of my career but that was back when you had a few big enterprise languages (C/C++, Java).
With micro services being language agnostic, I find I use a larger variety of languages. And configuring and remembering an environment for rust, go, c, python etc. is just too much mental overhead. Hard to beat JetBrain's IDEs; now-a-days I bring my Vim navigation key bindings to my IDE instead of my IDE features to Vim. And I pay a company to work out the IDE features.
for the record, I am in the boat of, use whatever brings you the greatest joy/productivity.
You spelled vim wrong.
just keeps on keeping on with neovim, vimium, a tiling window manager, and an ortholinear keyboard.
- opens file in nvim, can edit code immediately, code is processed in the background and info appears after ~30 seconds
- opens Idea project, everything is unresponsive for a minute
Yep, I will stick to nvim.
Zed https://zed.dev/
That can only run on mac. Hard pass.
It's open source though and they plan on adding Linux/Windows support in the future
It looks like it'll be really nice when it comes out for the other platforms though, and they do plan on doing that eventually.
It's probably a good thing to get it right on one platform first before getting into the other ones. If they release it buggy on Linux it'll leave a bad taste.
It does look nice, but unfortunately I cannot use it. If it ever is released on Linux I might give it a try. But Vim is hard to beat after its setup to be IDE-like.
Atom did bring about tree-sitter at least.
From https://zed.dev/blog/we-have-to-start-over
We got to a certain point with Atom. It was 2017 when we'd shipped Teletype and it felt like, okay, it's no longer our own ignorance holding us back, it really is like the platform holding us back at this point.
...
the ironic thing is that we created Electron to create Atom, but I can't imagine a worse application for Electron than a code editor, I don't know.
Itβs definitely not the fastestβ¦
When I write code in the terminal, the editor I use the most is nano
. I know vim and emacs are more powerful, but I don't really feel that nano is incompetent. I run nano in byobu
VS Code gang
Clearly you never tried emacs
Why should I install a second operating system?