Best Text Editor For Programming
Tags: webdev, programming, vscode
Published: 2021-07-18 07:49:52

The first question that we need to answer is what text editors are actually out there. And Stack Overflow really helps us here because they did a poll in 2019 of over 87,000 developers.

| Text Editors  	|        Survey results 	|
|--------------	|--------------------      |
| Vs code      	        | 50.7%             	        |
| Notepad++    	| 30.5%                   	|
| Vim          	        | 25.4%                    	|
| Sublime Text 	| 23.4%                   	|
| Atom             	| 13.3%                 	        |
<hr>
 
### VS Code

***Visual Studio Code is probably the master when it comes to capabilities***. 

It's the 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. 
VS Code is efficient with pretty much any project that you could come up with VS code has git integration, terminal console integration, memory consumption is low. And even on bigger projects, it runs really smoothly. And these things are not unique to the VS Code. They also exist in other editors, However, with Atom, for instance, you have to install a terminal to use it. And with the 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.

 [Download Vs Code](https://code.visualstudio.com/download) 


<hr>
### VIM

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 tonne of key bindings for navigation and writing and editing text. To use vim, 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 it works like pretty much everything else that you're used to.
***This means that the learning curve for using vim is a lot greater than it is for any of the other editors on our list.***
But the potential for productivity benefits that this can lead to is also a lot greater. Since 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.

[Download VIM](https://www.vim.org/download.php)
<hr>


### Sublime Text

When it comes to speed the winner is Sublime Text. It's fast, it's lightweight, it's what I would call the ultimate start editor. If you're just getting started, then Sublime Text is likely a great choice because it's lightweight and fast.
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.
Sublime Text, while being lighter-weight than an IDE, still supports many IDE features.


- 
Text from the current file is used to provide autocomplete.

- 
Project Support (folder browsing, scoped history, build-system declarations).

- 
Refactoring support is emulated through multi-select, project-wide find and replace, and regular expression search.

- 
Syntax-aware selection and GoTo for quickly jumping to locations in the project.
Snippets and Macros.

- 
A Python console for everything else.

[Download Sublime Text](https://www.sublimetext.com/3)


### Notepad++
Notepad++ is a powerful, feature-packed text editor that more or less has everything Notepad needs but lacks (it can replace Notepad in Windows). It supports 27 programming languages.
It has syntax highlighting, excellent themes and support for most languages and file formats.
If you close Notepad++ (NPP), your documents remain even if you haven't saved.
While it is disabled by default, when enabled, it is possible to edit more than one line at a time. This is helpful in many situations.
You can define your own custom syntax highlighting rules.
You can now compile and run C++ programs from within Notepad++.


[Download Notepad++](https://notepad-plus-plus.org/downloads)


### Atom by Github
Atom is great in that it is open-source software, ensuring it can be customized without restrictions. It comes integrated with GitHub.One of the goals of the Atom is to be a text editor for both experienced and beginner programmers. You can add keyboard shortcuts, change themes, install plugins, and change core settings by clicking through a GUI, or by manually editing config files the old-fashioned way. It has the added advantage of being built using the same engine that powers Google Chrome, so actions like opening and closing tabs feel familiar, even to new or non-programmers.
Atom has a built-in package manager and an extensive list of packages.
But there are many disadvantages too its not lightweight as not as fast as sublime text.
Atom is very slow to startup, which is a big disadvantage if you are accustomed to using it to make quick changes on your files.

[Download Atom](https://atom.io)

<hr>

### My Preference 
So now what editors have I used? Well, this is exactly what I've used in the past VS code for my main projects and longer sessions and Sublime Text for my shorter quick-fix fast coding sessions. And honestly, this is something that came to me quite naturally. And it came from the want to use Sublime Text because I like their style a lot more. But for some reason, as soon as it was a bigger project, I always end up switching back from Sublime Text to VS code after an hour or so. And I'm not really certain why exactly that is. But something just made me do that naturally. Same goes for the opposite direction. Of course, anytime I started writing something small in VS code, 
 
Conclusion: You should use 2 text editor 1 with all functionalities to code and compile and 1 which is lightweight and to make quick fixes. 


I choose Vscode and Sublime text 3 what about you? 
Comment down below!