Text editors¶
The features a good text editor should have:
- Unicode support
- A good text editor should support Unicode. This is the de facto standard for cross-platform compatibility of text files. With Unicode support you can be sure that the text file you edited on your Unix machine can be worked with properly on, e.g., a Windows machine.
- syntax highlighting
- In our case, the main objective of using a text editor is to write code. Choosing a text editor that supports syntax highlighting for the programming language we use helps us to comprehend the written code easier by applying different colors and/or weights to the text depending on whether the piece of text is, e.g., a string, a type declaration, or a keyword.
- snippets
- Every programming language has certain structures for building blocks like, e.g., if-conditionals or for-loops. Typing them out each and every time is a waste of time. Good text editors allow the use of so-called snippets.
- hackability
- Each programmer has a different taste with regards to how they want to accomplish certain actions in text editors. Different shortcuts might be required, or a custom layout of the editor. A good text editor allows you to customize it to your needs, not require you to adapt to its way (at least to a certain amount).
- package manager
- To be truly hackable a good text editor supports third-party packages that extend or alter the functionality of the text editor.
To gain more insight about the performance of different text editors take a look at this editor performance comparison.
In the following a brief introduction to the text editors I recommend is given.
Atom¶
Atom is a text editor made by GitHub.
Advantages
- support for different encodings
- highly hackable
- open-source
- easy to learn
Disadvantages
- slower than the other presented editors
- less memory efficient than the other presented editors
- may not be installed on all machines you have to work with
Sublime Text 3¶
Sublime Text is a text editor made by a small team of developers. Proper support for packages is supplied by Package Control.
Advantages
- fast
- relatively memory efficient
- support for different encodings
- highly hackable
- easy to learn
Disadvantages
- closed-source
- may not be installed on all machines you have to work with
- if used for free a pop-up every ten times you save a file
- a license costs $70 at the time of writing
Visual Studio Code¶
Visual Studio Code is a text editor made by Microsoft.
Advantages
- support for different encodings
- highly hackable
- open-source
- easy to learn
Disadvantages
- may not be installed on all machines you have to work with
Vim¶
Vim is a text editor made by the community lead by Bram Moolenaar. Support for packages is built-in as of vim 8, but due to backward compatibility the most popular package manager is vim-plug.
Advantages
- open-source
- fast
- memory efficient
- may very well be installed on all Unix machines you have to work with
Disadvantages
- takes time to get used to
- hard to master
Emacs¶
Emacs is a text editor made by the community lead by the Free Software Foundation.
Advantages
- open-source
- fast
- memory efficient
- may be installed on all Unix machines you have to work with
Disadvantages
- takes time to get used to
- hard to master