BBEdit is commercial software, the paid counterpart to their free application Textwrangler. Though BBEdit comes off as pricey, this allows for stable and consistent updates from the developers. BBEdit has been around since 1992.

Due to its modular design, almost any aspect of the editor can be changed. Even seemingly core packages, like those taking care of search and replace functionality, can be forked on GitHub, and changed and replaced in the editor. The documentation for creating new plugins is also great, making it...

PhpStorm has two types of autocompletion: structural completion and word expansion. Structural autocompletion makes predictions based on its understanding of PHP, while the latter tries to predict the word currently being typed based on previously typed words. Word expansion also works in comments...

At the heart of Spacemacs, the configuration layers group packages configuration into semantic units that can be toggled on and off. The architecture is simple but powerful, allowing the user to easily manage configuration dependencies between hundreds of packages.

Spacemacs combines many packages from many different authors that were never designed to work together. Sometimes they interact in unexpected ways, and things randomly break as one package interferes with another's features. This combined with delayed auto-loading of packages in unpredictable o...

Although configuration is heavily loaded, the starting time of Spacemacs is usually between two and five seconds. Emacs can be run as a daemon though which reduces the client's startup time to a few milliseconds.

There are occasions when Spacemacs would suddenly consume a LOT of CPU and then other times would become completely unresponsive. This instability took place only 6 months or so ago. Restarting Spacemacs can fix it for a while but perhaps this issue is already fixed in newer versions.

With LT's inline evaluation, you don't have to re-compile your whole source file. Each time you want to see an output, all you have to do is hover your cursor over the line you'd like to evaluate and press ctrl+enter; LT will evaluate that line of code for you.

LT has a plugin manager built directly inside of it. This plugin manager connects to LT's own registry of plugins, so whenever you want assistance while writing your HTML, JS, or even Python, just open up the plugin manager, search for it, and click the little install button beside it's nam...

Sublime Text has a minimap on the side that provides a top-down view of the file and keyboard shortcuts for most actions. It also supports a large number of languages and general text editing features out of the box.

Sublime Text uses TextMate's syntax declaration files to support new languages, it has all its menus and keybindings generated from JSON files, and it can be scripted to add new features using Python. If Sublime Text doesn't support a desired language or feature, it's usually not long...

Brackets will automatically refresh the browser and load the latest saved version of a file open in the browser. This works with php as well. Editing a css will even highlight the tag that's currently being worked on. However, it only works with Chrome.

Some gaps have to be filled by plugins, while these features should be built in. For example: Jump to matching brace (bracket / parenthesis); Gutter selection of lines; Recall previous searches / replacements; Autofill of search field with text under caret (text has to be selected...

Customizations can be made to a wide range of Emacs' functions through a Lisp dialect (Emacs Lisp). A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).

To make sure your code can be easily maintained, you must first be sure to make it clean and tidy. This is the part where WebStorm really helps you. It automatically refactors your code by performing functions on it, such as extraction of variables, moving files, inline variable extraction, etc.

WebStorm comes bundled with JSHint and JSLint. JSCS, ESLint, and Closure Linter can be installed via npm. They register as inspections and are customizable through IDE settings. They run automatically and will highlight potential issues. Pressing alt+enter on an issue will allow the user to view su...

A paid license is required to use WebStorm for commercial use. The license terms changed in November 2015 and currently require a subscription (per year: $59 personal, $129 for companies). Students can obtain a free non-commercial, educational license good for one year. There is also an option to p...

Although Howl can be extended in both Lua and MoonScript, almost all bundles are written in MoonScript. This means that it is a bit harder to find examples if you'd rather write your bundle in Lua. MoonScript can be compiled to Lua but the code won't be as clean and understandable as if it...

Kakoune works on selections, which are oriented, inclusive range of characters, selections have an anchor and a cursor character. Most commands move both of them, except when extending selection where the anchor character stays fixed and the cursor one moves around.

NeoVim was a complete rewrite of Vim, with new features added and underlying issues resolved thanks to the Vim code base. The keybindings and configuration are the same as Vim, so the switch can be pretty simple.

The core text editor is "headless", meaning it's detached from the user-interface so other programs can hook into it. This enables better integration with IDEs and browsers, where "Vim mode" has typically been a poor substitute because it was a partial rewrite or a partial p...

Vim plugins have always been useful, but tied to specific languages. Neovim's architecture provides better separation between plugins and the core product, so that plugins are completely flexible and can be written in any language.

IDEA places an emphasis in safe refactoring, offering a variety of features to make this possible for a variety of languages. These features include safe delete, type migration and replacing method code duplicates.

Bare Bones, the developers of TextWranger, recently ended maintenance and support for the product. Per the Bare Bones website (https://www.barebones.com/products/textwrangler/): "We have sunsetted TextWrangler, and we encourage anyone interested in TextWrangler to download and use BBEdit inste...

Per the Bare Bones website (https://www.barebones.com/support/new-os.html): "TextWrangler is not compatible with High Sierra. We suggest that you use BBEdit as an alternative . . . ." Since Bare Bones officially sunsetted the product, it will unlikely be compatible with subsequent macOS r...