Emacs, several reasons.<p>I learned to use it circa 2000 (after vim) while in university for my CS degree. It took some getting used to, but it stuck.<p>It's incredibly versatile once you get to know it. It's wonderful having a properly extendible tool. I wish every program I used was as easy to extend as emacs. This is the same thing that drew me to Common Lisp (running programs can be connected to and extended/debugged without having to stop them).<p>Lisp, I took to it very quickly. Not sure why but everything about it just clicked in my head after a brief learning period.<p>It's default installed on everything I use except Windows. The Windows port works well.<p>With emacs lisp, I have written up a number of (simple) modes to support various esoteric languages I've run across in my career that no editor supports (openly available but uncommon, or internally produced).<p>I don't have to use a mouse. Everything is available via the keyboard. Being able to type about 100 wpm these days, that means I can instruct it as fast as I can think of what I want it to do.
On Linux, Vim, because its ubiquitous and powerful.<p>On Mac, BBEdit. Like the other BBEdit user in this thread, I've been using it for over 15 years, and muscle memory counts for a lot. I also really love its side drawer for managing dozens of open files (Sublime nominally has one but it's an afterthought and not very functional), and think its symbol navigator is very effective. I especially like the ability to have the same file open in multiple windows in order to view different parts of it at the same time. And nothing else I've used quite matches its incredibly rich multi-file search/replace dialog or its search results displays (with a full listing of all instances, organized by file, navigable by keyboard, opening to the line in question in an editable buffer right in the window).<p>And it has so many incredible text processing features. Just to name a few, a feature that will replace non-ASCII characters with their nearest ASCII equivalents; a feature to find and process (in any number of ways) duplicate lines in a file; the ability to reopen a file using a different encoding; a built in diffing tool that will work on both saved files and unsaved buffers; preserving unsaved buffers across restarts and system reboots; Markdown and HTML preview modes; a menu for scripts to run against your files/buffers; and the list goes on.<p>Oh, and it's stable. In 15+ years of use, it's never ever crashed on me. I can't think of any other GUI program I can say that of. I've thrown 4GB files at it on a machine with only 512MB of RAM, and it somehow not only opened and rendered them nearly instantly but scrolled through them (and executed searches and search/replace) like butter.
vi and Sublime.<p>On my home (windows) machine I use Sublime. It's the first editor I enjoyed after a long time.<p>vi: because it's installed everywhere and - after working 20 years as a sysadmin - I can blindly edit whatever config file I need on a terminal.<p>Some^H^H^H^H time ago I was using the IBM e editor (<a href="https://winworldpc.com/product/ibm-e-editor/3x" rel="nofollow">https://winworldpc.com/product/ibm-e-editor/3x</a>) on DOS because it was easy in the eyes (dark and light gray vs yellow on blue) and had autocomplete for C !<p>:wq!
Emacs. I wrote a few reasons why I still use it here:<p><a href="https://coffeeandcode.neocities.org/why-i-still-use-emacs.html" rel="nofollow">https://coffeeandcode.neocities.org/why-i-still-use-emacs.ht...</a><p>Every now and then I play with other editors, but always end up coming back to Emacs.<p>There are some nice editors out there these days though: Atom, Microsoft's Visual Studio Code is very nice too.
vim:<p>- I enjoy terminal apps in general due to the uniformity enforced by my emulator’s text and color settings. And keeping my editor and shell in one app fosters a custom IDE-like experience<p>- I enjoy keeping my hands on the keyboard most of the time, though I have mouse mode enabled for things like resizing splits<p>- While I think you can be extremely productive in any of the big editors today, with vim something about its modes and command syntax make it really fun to discover new tricks and simpler ways of doing things<p>- Some version of vi is on just about every *nix machine<p>- The vim plugin ecosystem is very developed and plenty of useful ones to check out<p>- Similarly to plugins, there are thousands of dotfiles to peruse on GitHub for inspiration towards making your editing experience even better
Sublime because it's fast, does what I want, and I've been using it since 2012... lot of muscle memory and am too just used to it. I do have Vim keybindings on but I'm a light user of them. I haven't tried much else, honestly.
Depends on how much time I plan to spend and the size of the project:<p>vim - quick edits<p>Visual Studio Code - medium-sized projects, Python or JavaScript<p>IntelliJ IDEA/PyCharm - Java, or other large or complex projects
On Linux (that is,most of the time) Emacs, because I can't stand modal editors (eg, vim).<p>When I'm forced to use Windows, I sometimes use Notepad++ for some things.<p>For coding I mostly use Eclipse.
Sublime Text: because EMACS scares me, Vim controls only work well for a web browser, and because my preferred terminal font makes nano difficult to use.