Choosing a code editor An editor is where you write code on your own computer. Any of these will do; the choice matters much less than practising. If you are unsure, start with VS Code . You can always switch later.
Short version Use VS Code to get started. Try Neovim or Emacs later if you want a keyboard-driven setup. Use Nano for quick edits on a server.
Good Large extension library covering nearly every language and tool Good code completion and a built-in debugger Built-in Git support and terminal Runs on Windows, macOS and Linux Frequent updates and plenty of tutorials online Less good Uses more memory than lightweight editors Extensions can occasionally conflict with each other Tuning settings to your taste takes a little time Good Very fast, even with large files Everything is done from the keyboard, which gets quick with practice Highly configurable with Lua Works over SSH, so you can edit files on remote servers Good language support once set up Less good Takes weeks of practice to feel comfortable Needs configuration before it matches a modern editor Its modal editing (separate modes for typing and moving) is unfamiliar at first Good Extensible with its own language, Emacs Lisp Org mode is excellent for notes, planning and documents Magit is a very capable Git interface Stable and actively maintained since the 1980s Less good The default key bindings are unlike most other software Getting a comfortable setup takes real time Smaller community of new users than VS Code Good Starts and responds very quickly Excellent multi-cursor editing Light on memory Command palette for quick access to features Less good Paid licence for continued use (there is an unlimited trial) Fewer extensions than VS Code Fewer built-in tools such as debugging Good Installed on most Linux and macOS systems Shortcuts are listed at the bottom of the screen Easy to exit and save Handy for quick edits to configuration files on a server Less good Not designed for writing larger programs No code completion or debugging Good Fast and light on Windows Syntax highlighting for many languages Solid search across files Column (block) editing Less good Windows only No built-in terminal No language-server support, so code completion is basic