I have text editor commitment issues; I change editors somewhere between bi-weekly and bi-monthly. Some of the reasons why I switch to and fro:<p>- Visual Studio Code—pull factors: Better performance than Atom. Solid language support for Python, and excellent for JS and TypeScript, and the Language Server Protocol means that the UI is identical no matter which language you use. Looks good. Push factors: Not as customisable as other editors, especially visually. Startup time still leaves me wanting.<p>- Atom—pull factors: Infinitely customisable; basically the Emacs of the 21st century. Looks good. Push factors: Git integration is nowhere near as good as VSC (ironic considering its authors), and I've yet to find a Git plugin I really like. While it's not unusable, the performance isn't the best.<p>- Sublime Text—pull factors: Performance. The ST dock icon often doesn't even get to finish its first bounce animation before it's ready to go, and it can handle large files amazingly. Push factors: Stagnation, both in the editor and the plugin ecosystem, compared to Atom and VSC. (It seems like this has been improving a bit lately.)<p>- Chocolat—pull factors: Really beautiful, native Cocoa UI. Buffer list in the sidebar instead of tabs and command-click for split windows is really neat, and I wish more editors worked this way. (VSC and ST can both be configured to get half-way there, but they both conceptually differ with Chocolat on how splits work, and I prefer Chocolat's approach.) Push factors: Less extensible, and worse plugin ecosystem, than anything else on this list. (You can't even provide a third-party autocompletion engine.) Not cross-platform, so I can't use it on my Linux box at work. Configuration is through a GUI only, so difficult to keep under source control and sync across machines. No complete-as-you-type. Hasn't had a release since June. Actual text editor widget seems kinda janky sometimes.<p>- Vim—pull factors: Modal editing. (All of the others have Vim-emulation plugins or a Vim mode, but they have varying levels of usefulness. Chocolat's can't even easily do key remappings last I checked.) Rich plugin ecosystem. Push factors: Vimscript somehow manages to be the only language more puzzling and hideous than Bourne/Bash shell scripts, although to its merit it doesn't have a keyword called 'esac'. GUI mode is essentially an in-process terminal emulator.<p>There's a few more I'd like to try, like Brackets, Coda (I love the idea of having terminal emulator tabs in your text editor! I'm not sure if I like how web-focused it is though), and CodeRunner; and a few more I've tried before but not stuck with for any length of time, like TextMate and BBEdit. I also used PyCharm at work for about six months, but stopped when the VSC Python extension started getting good and haven't gone back since. But those are the ones that I've actually used in earnest for a decent length of time and still regularly switch between.