Notepad++ is a free source code editor which supports several programming languages running under the Microsoft Windows environment.

This project, based on the Scintilla editor component, is written in C++ with pure Win32 API calls and uses STL. It is under the GPL Licence. The aim of Notepad++ is to offer a slim and efficient binary with a totally customizable GUI.

The programming languages supported by Notepad++ are: C, C++, Java, C#, XML, HTML, PHP, JavaScript, makefile, ASCII art, doxygen, ASP, VB/VBScript, Unix Shell Script, BAT, SQL, Objective-C, CSS, Pascal, Perl, Python, Lua, TCL, Assembler, Ruby, Lisp, Scheme, Diff, Smalltalk, Postscript and VHDL. Furthermore, users can define their own language by using the built-in User Language Define System, which makes Notepad++ extendable, to have syntax highlighting and syntax folding.

It supports auto-completion, regular expression find and replace, split screen editing, zooming, bookmarks, and brace and indent highlighting. It has support for macros and plug-ins. A user-written plug-in called TextFX is included by default, which provides many text transformation options.

Notepad++ is not only a source editor, but also an alternative to Notepad thanks to its speed. With its multiple document interface, browsing between the open text files is more comfortable.

Although based on Scintilla (which does not presently offer multiline regex search and replace), Notepad++'s support for plug-ins mitigates this fact.

Wikipedia is our friend.