this post was submitted on 11 Jul 2023
16 points (100.0% liked)

Text Editors

466 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

I'm relatively new to programming, I've been learning C on linux using nano and it's been very fun. I've recently fallen into the emacs/vim rabbithole and I've been watching videos about emacs, Doom, spacemacs, neovim and reading comments about people switching from this or that to another config or editor, and I've been a bit lost on what to do. Then I realised that I haven't done any coding and spent all of my time focusing on editors. So here is my question (which has probably been asked many times) : what is the point of investing so much time learning all of this when there are some IDEs that are preconfigured with all the functionality a programmer would need ? Does learning neovim or emacs actually save time in the long run? I know that they're much more lightweight than IDEs and I've been really enjoying using the terminal much more than my time on IntelliJ, but having an easy out of the box visual debugger, refactoring and jump into functions can be really helpful in the long run I think, especially when starting to write actual large programs. Nano is fun, but not a time saver. Why did you chose your editor?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago

You can absolutely build a full dev environment out of one of the extensible text editors, and there is value in the exercise. You can learn what the different language tools are doing (linters, formatters, LSPs) and plumb those in manually or find plugins which do that for you.

TJ DeVries (a Neovim dev) has a video where he goes in more detail on this, calling highly-extensible editors "PDE"s, or "Personalized Development Environments".

If you're trying to save time in the short term, use an IDE. If you want more control over the long term, maybe consider an extensible editor.