General features include:
•Tabbed document interface
•Multiple clipboards (plugin required)
•Split screen editing and synchronized scrolling
•Spell checker (requires Aspell) (Spell checker does not distinguish between text and code)
•Supports text encoding formats such as Unicode, for international writing systems. UTF-8 and several UTF-16 encodings are supported.
•Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences
Source code editing features include:
•Syntax highlighting and syntax folding
•Brace and indent highlighting
•Regular expression find and replace (in perl compatible extent)
•FTP Browser (plug-in included in standard installation)
•Macro recording and execution.
•Various tools such as line sorting, text encoding conversion, text folding
•File status auto-detection
•Customizable shortcut key mapping
Notepad++ also supports Unix line endings so that it can be used to work with texts that have been produced on (or will be moved to) machines that run Unix operating systems.
Notepad++ supports syntax highlighting and code folding for over 50 programming, scripting, and markup languages. It attempts to automatically detect the language that a given file uses, using a modifiable list of file extension bindings. Users may also manually set the current language, overriding the extension’s default language. The program also supports auto-completion for a subset of the API of some programming languages.
The following languages are natively supported by Notepad++ as of version 6.6:
•Ada, asp, Assembly, AutoIt
•C, C++, C#, Caml, Cmake, COBOL, CoffeeScript, CSS
•Flash ActionScript, Fortran
•Makefile, Matlab, MS-DOS, INI file
•NSIS, Normal Text File
•Pascal, Perl, PHP, PostScript, PowerShell, Properties, Python
•R, Resource file, Ruby
•Shell, Scheme, Smalltalk, SQL
•Visual Basic, VHDL, Verilog
Users can also define their own language (for syntax highlighting) and its respective API (for auto-completion) by using the built-in User Language Define System.