This article is a complete guide to help you choose which text editor to make your weapon of choice. The first question that we need to answer is, what text editors are actually out there, and Stackoverflow really helps us here because they did a poll in 2019 of over 87,000 developers asking which text editor they use.
Most commonly, the most commonly used one is
Visual Studio code with 50.7% and in second place we have notepad++ with 5% and
Vim in 3rd place we have been with 25.4%. Fourth place goes to sublime text
with 23.4% and lastly, we have atom with 13.3%. These are the top five text
editors that people use in this poll. Also took in IDEs but I excluded them
since this video is about text editors only, so these were the editors that
most people like and use.
what to consider when choosing a
text editor
First off, for a learning curve, For instance,
with a text editor like Vim, which is a really popular one. There is one
drawback, and that is the learning curve. Vim uses a ton of key bindings for
navigation and for writing and editing text.
In order to use them, you need to first learn
how to write text, how to stop writing text, how to save, and finally how to
quit with all the other editors mentioned. You don't need to learn any of these
things because you will already know how to do it.
Since I work everything else that you're used
to, this means that the learning curve for using them is a lot greater than it
is for any of the other editors. On our list, the potential for
productivity benefits that this can lead to is also a lot greater. Vim is
based on being a fast editor. It means that making changes to the text should
be as quick as possible. It is optimized for using the keyboard as your only
input device, and once you get the hang of that you can be way faster because
you never have to touch your mouse.
Most text editors have keyboard shortcuts and
key bindings for different things, but they're not really optimizing for it,
which means that they're not doing it nearly as well as vim does it. But what
they do have, on the other hand, is a really nice user interface that anyone
can use and spend any time with the computer, so it's kind of a lot easier to
use out of the box, but this ease of
use, that kind of has to drop a lot of the features that VIMS, complexity kind
of allows, so, therefore, I would say that vim is for the person who gets turned
on by key bindings and who's excited by the thought of spending a week or two
reading documentation in order to like maximally exploit their editor of
choice, and also for the person who kind of likes to think of themselves as a brilliant
coder because Vim will make you both look and feel hardcore next thing to look
at is capabilities and here we have Visual Studio Code.
Visual Studio Code is probably the master when it comes to capabilities. It's an all-in-one package. This is the editor that most programmers seem to use for most of their programming, and this is for good reason.
This code is one of those text editors that
when I'm using it, I'm not really reflecting on the fact that I'm in a text
editor. I don't really have any questions and I can just work and it just works
except for the Super annoying update and extension reminders that are
constantly popping up in the bottom corner. But that's probably just something
that I could turn off the settings if I could be bothered to do so VS code, is
the editor that I just naturally find myself opening up whenever I'm working on
a bigger project.
It has an extensive library of extensions I can help you be more efficient with pretty much any project that you could come up with VS code has gift integration, terminal console integration, memory consumption is low and even on bigger projects. It runs really smoothly and these things are not unique to VS code.
They
also exist in other editors. However, with atom, for instance, you have to
install a terminal in order to use it, and with sublime, you need to install a
package for Git integration and even with that it just doesn't work as smoothly
as with VS code, although that's just my opinion, and there's probably tons of sublimes
out there who would argue that their way of doing things is way better and they
may be right, but to me, it just seems too complex and especially for beginners
where I think that the value of it just works is something that can't really be
underestimated.
And I
think that VS code is exactly that. It just works, and it seems to have all the
things that you need and the implementation of those things is it is said to
use and easy to understand next wave speed and here I think the winner is
sublime text speed.
It is fast, it's lightweight. It's what I
would call the Ultimate starter editor. If you're just getting started, then the sublime text is likely a great choice because it's lightweight and fast, so you
can try things out really quickly and test your code without a lot of extra
stuff. That's something more fleshed out like VSCode, Atom or Notepad++ will
come with it.
Sublime is ideal for two people. The absolute beginner and a fairly advanced. So what do I mean with it being ideal for both the advanced programmer and the beginner programmer? It seems kind of contradictory, right? Well, not really, and this ties into my next point, which is maybe you should use two text editors, a lot of more advanced programmers will actually tell you that they use two editors, or at least some do.
The reason for this is if you're
working on something that's really big and then starting up VS code just to
change a single line of code in the entire project is kind of a waste of time,
so in that case, some programmers will have a faster editor for quick fixes or
small changes. Vim is a really great example but again requires some getting
used to, so a fairly common combo that I've used and also seeing other people
use is VS code as the main editor and sublime text for quick-fix small edits.
The reason is that VS code can become a little bit slower, especially if the
project is quite large, so then it makes total sense to you something that is
faster and more lightweight for any smaller changes that you need to make.
Conclusion
This is why I think that sublime text is
perfect for the beginner programmer and the advanced programmer because the use
case for both will be very similar even though their experience level differs
greatly and the beginner will basically be working on probably just one file
essentially and writing very small scripts and in that case you see something
like VS code kind of almost becomes overkill whereas the advanced programmer
they may be working on really big files is really big projects with lots of
different files.