Blog

Editors

published 2021-08-07

Just a note

There are a bunch of editors out there, and everyone will tell you the one they use is best. While the one I use is in fact best, it doesn't matter which one you use. It really doesn't. Each one is insanely powerful and has the potential to make you a lightning-fast programmer.

Also, all the editors I will cover in this post have add-ons that can add more functionality and whatnot, so every one can behave similarly to the others if you really want.

What is an editor?

An editor is the thing that you write code in. Some are Integrated Development Environments (IDEs) that have loads of features, others only edit text.

In this post I'll talk about the editors I've used in the past, what I liked about them, etc.

Visual Studio Code

This one is made by Microsoft, and it's one of the more popular ones out there (at least among web developers).

This editor is super easy to get started in. It has some keybindings (you don't need to know them to use it though), has self-explanitory buttons, and makes development easy for anyone, regardless of skill level.

It also has a super easy-to-use extension (which are add-ons) system, so if you want it to behave differently it isn't too much effort to make it do so. This is the first editor I used seriously, and I think it was a great point to start at.

Vim

Vim is great. I still use it every so often, but it's not my main editor.

It's terminal based, meaning to edit a file you use the command vim file.txt. This is something I really liked about it, because I do most of my file-based things in the terminal.

Vim has a bit of a learning curve: its modes take some getting used to and it has a some keybindings you need to know to use it. But once you know and get comfortable with them, development speeds up super fast. You can go anywhere in your code with a few key presses, and you don't ever need to touch your mouse.

Its plugin system is I think the hardest to get used to out of all of these editors, and I never really got the hang of it. I learned it well enough to get by but that's really it. I'm pretty sure you can make it into a more fully featured editor though, and maybe someday I'll learn to do that.

Emacs

This is the editor I currently use, and I love it. Emacs is so incredibly powerful and you barely ever need to leave it during development.

There are a few different Emacs versions/distributions out there, I use Doom Emacs. In addition to looking absolutely awesome (and having the best exit prompts ever), Doom has Evil mode set up by default. Evil mode makes it so you have vim-style modes (which I've grown to really like).

Emacs has the highest learning-curve I've found yet. But, the docs for it are built-in, so it's just a matter of using it lots and looking things up when needed. I'm not quite a pro at Emacs yet, but even now--having used it for a few months--I'm much more efficient than I was before.

Emacs also has a nice package handling system, so if you like add-ons this is definitely one to look at. For example there is a great preview-pane one for LaTeX.

In Emacs everything is a keybinding, you have super useful macros, and it's uber-customizable. Literally everything is a few keystrokes away, and if you need, you can define custom keybindings for whatever.

I really like Emacs, and I don't think I'll be switching away from it anytime soon, if ever.