Notepad2 Copyright ?2004-2011 Florian Balmer
Notepad2-mod Copyright ?2010-2013 All contributors, see Readme-mod.txt
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of Florian Balmer nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


This version of Notepad2 has been modified from Florian Balmer's original
version using patches by Kai Liu and others.

Notable changes:
* Code folding
* Support for bookmarks
* Option to mark all occurrences of a word
* Word auto-completion
* Syntax highlighting support for AutoHotkey, AutoIt3, AviSynth, Bash,
  CMake, Inno Setup, LaTeX, Lua, Markdown, NSIS, Ruby, Tcl and YAML scripts
* Improved support for NFO ANSI art
* Support for replacing Windows Notepad using a clean, unintrusive registry-based method
* Other various minor changes and tweaks

Supported Operating Systems:
* XP (SP3, SP2 might or might not work), Vista, 7 and 8 both 32-bit and 64-bit

Contributors:
* Kai Liu
* RL Vision
* Aleksandar Lekov
* Bruno Barbieri

More information:
* Source code and binaries:   https://github.com/XhmikosR/notepad2-mod
* Official Notepad2 website:  http://www.flos-freeware.ch/notepad2.html
* Code folding usage guide:   https://github.com/XhmikosR/notepad2-mod/wiki/Code-Folding-Usage
* Kai Liu's website:          http://code.kliu.org/misc/notepad2/
* Bookmark Edition website:   http://www.rlvision.com/notepad2/about.asp

Changed keyboard shortcuts compared to Notepad2:
Ctrl+Alt+F2         Expand selection to next match.
Ctrl+Alt+Shift+F2   Expand selection to previous match.
Ctrl+Shift+Enter    New line with toggled auto indent option.

=======================================================================
=                                                                     =
=                                                                     =
=   Notepad2 - light-weight Scintilla-based text editor for Windows   =
=                                                                     =
=                                                                     =
=                                                   Notepad2 4.2.25   =
=                                      (c) Florian Balmer 2004-2011   =
=                                       http://www.flos-freeware.ch   =
=                                                                     =
=                                                                     =
=======================================================================


Description

  Notepad2 is a light-weight, free and open source Notepad-like text
  editor with syntax highlighting for a few commonly used languages.
  It's based on the Scintilla source code editing component and works
  on NT-based versions of Windows.


Features

  - Syntax highlighting: HTML, XML, PHP, ASP (JS, VBS), CSS,
    JavaScript, VBScript, C/C++, C#, Resource Script, Makefiles, Java,
    Visual Basic, Pascal, Assembly, SQL, Perl, Python, Configuration
    Files, Apache Config Files, PowerShell, Batch Files, Diff Files
  - Drag & drop text editing inside and outside Notepad2
  - Basic regular expression search and replace
  - Useful word, line and block editing shortcuts
  - Rectangular selection (Alt+Mouse)
  - Brace matching, auto indent, long line marker, zoom functions
  - Support for Unicode, UTF-8, Unix and Mac text files
  - Open shell links
  - Mostly adjustable


New in Version 4.2.25 (released May 06, 2011)

  - "Align Lines" with several options (Alt+J)
  - "Modify Lines" supports several variables to insert numbers (Alt+M)
  - "Sort Lines" (Alt+O) handles column sort (rectangular selection)
  - "Sort Lines" also handles shuffle, remove duplicates and uniques
  - "Merge Blank Lines" block command (Alt+Y)
  - Use built-in Windows functionality for "Title Case" on Windows 7
  - Convert between characters and hex codes (Ctrl+Alt+X, Ctrl+Alt+C)
  - "Recode file as default encoding" (Ctrl+Shift+F)
  - UTF-16 and UTF-16 BE formats are valid recoding options
  - Enable case-insensitive searching for non-ASCII text
  - Regex quantifier ? to match 0 or 1 times
  - Regex quantifiers * and + available as non-greedy forms *? and +?
  - Regex syntax for tagged regions simplified from \(...\) to (...)
  - Updated HTML5 and CSS3 schemes according to current working drafts
  - Updated Assembly scheme with x64 and SSE4 instructions
  - Several minor updates to syntax schemes and keywords
  - Merged caret styles into a single item and added "noblink" option
  - /l and /l- cmd switches to control auto-reloading of modified files
  - Ini-option to specify auto-reload timeout (see FAQ on my website)
  - Support combination of /g and /m command line switches
  - /o and /o- cmd switches to control "Always on top" option
  - Copy window position to clipboard as cmd line switch (Ctrl+Shift+K)
  - Move window to default position on current screen (Ctrl+Shift+P)
  - Fixed Notepad .LOG feature (broken since 4.1.24)
  - Launch command uses current file directory as working directory
  - Don't lock any directories except the one containing Notepad2.exe
  - Forward system MRU, taskbar and jump list behaviour to new windows
  - Always show file name extensions (ignore Windows Explorer setting)
  - Check availability of "Consolas" when set as default font
  - Support a few more file variables (see FAQ on my website)
  - Configure whether backspace should reformat indenting whitespace
  - Transform backslashes function understands \u#### hex codes
  - Several F2, F3 and F4 hotkeys work in find and replace dialogs
  - Removed "Select Up" and "Select Down" buttons from find dialog
  - Ini-options to block suppression of notification messages
  - Simplified appearance of word wrap settings dialog
  - Remapped "Unescape C Special Chars" to Ctrl+Alt+R (fix duplicate)
  - Reloading keeps scrolling position more unerringly with word wrap
  - Jumps with /g switch locate position more accurately with word wrap
  - Various internal optimizations and fixes
  - Improved look of disabled toolbar buttons on Windows XP and above
  - Improved overall look of toolbar buttons on Windows 2k
  - Lower frequency of NFS access delays by caching file display names
  - Improved compatibility with Windows 7
  - Released x64 build of Notepad2.exe
  - Updated Scintilla library to 2.24


New in Version 4.1.24 (released March 02, 2010)

  - /z command line switch (support registry-based Notepad replacement)
  - /u command line switch (launch Notepad2 with elevated privileges)
  - Fixed some /p command line switch options not working properly
  - Display more informative error messages for file operation failures
  - Hotkey to copy pathname of current file to clipboard (Shift+F9)
  - Window title indicator when running with elevated privileges
  - Ini-options to control system MRU, taskbar and jump list behaviour
  - Enhanced portability for directory settings inside My Documents
  - Configure whether tab key should reformat indenting whitespace
  - Revised word wrap settings dialog and added more detailed options
  - New style setting to control font smoothing (see FAQ on my website)
  - New style setting to control size of visible white space dots
  - Improved cursor visibility on any background color
  - Added new "HTML Element Text" and "XML Element Text" styles
  - Improved default style utilization for HTML-embedded schemes
  - Updated PowerShell keywords to version 2.0
  - Added missing keywords to VBScript scheme
  - Fixed deleted files reappearing in MRU lists
  - Updated Scintilla library to 2.03


New in Version 4.0.23 (released October 06, 2009)

  - Added PowerShell Script syntax highlighting
  - Added missing keywords to JavaScript schemes
  - Further simplified syntax schemes by consolidating certain styles
  - More accurate "mode" file variable matching with tightened rules
  - Avoid repetitive zone checks when running Notepad2.exe internally
  - Fixed choice of encoding conversion prompt being ignored
  - Fixed recent file dialog hang with inaccessible UNC paths
  - Internal changes to allow complete internationalization (future)


New in Version 4.0.22 (released July 28, 2009)

  - Support for numerous Windows, DOS, ISO, Mac and EBCDIC encodings
  - Enhanced encoding selection dialog (F9)
  - "Recode" (F8) to reload file with different source encoding
  - "Recode file as system default ANSI" (Ctrl+Shift+A)
  - "Recode file as system default OEM" (Ctrl+Shift+O)
  - "Recode 7-bit ASCII file as UTF-8" (Shift+F8)
  - Option to load 7-bit ASCII files as UTF-8 (File, Encoding, Default)
  - Option to disable encoding tag parsing (File, Encoding, Default)
  - Issue warning if data can't be converted to selected file encoding
  - Fix loading of (invalid) Unicode files with embedded null bytes
  - /e command line switch to specify file source encoding
  - "Insert Encoding Identifier" (Ctrl+F8)
  - "Tabify Indent" (Ctrl+Alt+T) and "Untabify Indent" (Ctrl+Alt+S)
  - "Increase Number" (Ctrl+Alt++) and "Decrease Number" (Ctrl+Alt+-)
  - Option to auto-reload unmodified files changed by external programs
  - Hotkey (Alt+F5) and auto-reset option for file change notification
  - Manual and automatic reloading of files keeps current encoding
  - Scroll find matches and jump positions away from bottom border
  - Enabled new Scintilla indent modes for wrapped lines
  - Option to set any characters as boundaries for word wrap
  - Allow bigger tab-/indent-widths (256) and long line limit (4096)
  - Allow setting extra line spacing (through "Default Text" scheme)
  - Dropping directories displays file open dialog
  - Consolidated styles to simplify configuration (patch by Kai Liu)
  - Ensure cursor visibility on any background color (patch by Kai Liu)
  - Enabled improved Scintilla Pascal lexing module (patch by Kai Liu)
  - Updated HTML keywords to version 5.0
  - Remapped "Manage Favorites" hotkey to Alt+F9
  - Remapped "Invert Case" hotkey to Ctrl+Alt+U
  - Remapped "Title Case" hotkey to Ctrl+Alt+I
  - Remapped "Sentence Case" hotkey to Ctrl+Alt+O
  - Fixed various minor bugs
  - Notepad2.exe program file no longer compressed with UPX
  - Updated Scintilla library to 1.79


New in Version 3.1.21 (released June 21, 2009)

  - No ini-file is created by default (save settings with F7, once)
  - "Move Up" and "Move Down" keep selection and work with blocks
  - Set cursor to start (Ctrl+,) or end of text selection (Ctrl+.)
  - "URL Encode" (Ctrl+Shift+E) and "URL Decode" (Ctrl+Shift+R)
  - "Escape" (Ctrl+Alt+E) and "Unescape C Special Chars" (Ctrl+Alt+U)
  - "Sort Lines" with several options (Alt+O)
  - "Pad With Spaces" block command (Alt+B)
  - "Replace Next" assigned to hotkey (F4)
  - Auto strip trailing blanks option (File, Line Endings, Default)
  - Remapped "Transparent Mode" hotkey to Ctrl+0
  - Simple XML detection for files without extensions
  - Simple language detection for cgi and fcgi files
  - Reload file without file variable parsing (Alt+F8)
  - Enabled better styling of C/C++ preprocessor elements
  - Recent files and search strings merged with existing items on save
  - Paste board mode ignores immediately repeated copy actions
  - Command line switch + to accept multiple files (quoted spaces)
  - Command line switch - to accept single file argument (no quotes)
  - Option to set default command line mode (single or multiple files)
  - Command line switches to set file encoding and line ending mode
  - More /p command line switches (see "Command Line Switches" below)
  - /r command line switch to reuse existing window
  - /ns and /rs command line switches to enable single file instance
  - Renamed /t command line switch to /d (select default text scheme)
  - /t command line switch to set window title
  - Set window title to excerpt of current text selection (Ctrl+9)
  - Save relative pathnames for recent files (ini-option to disable)
  - Save relative directories for "Open with..." and "Favorites"
  - "Open with..." no longer sends short pathnames to external programs
  - External commands use current file directory as working directory
  - Remember "Save Copy" location until exit
  - Require only single click to restore window from tray icon
  - "Reuse Window" option timeout improves opening multiple files
  - Replaced "Find Up" option with "Find Previous" button in dialogs
  - "Find Wrap" notification dialogs provide "Cancel" button
  - Option to suppress replace count notifications
  - Find and replace dialogs provide new system menu commands
  - Dialog boxes use correct theme fonts on Vista
  - Patches to default styles, file types and auto-detection by Kai Liu
  - Incorporated base x64 source code compatibility patch
  - Fixed some problems with relative ini-file locations
  - Fixed some minor file variable problems
  - Fixed some encoding detection issues
  - Fixed some find and replace problems
  - Fixed several memory leaks when saving files
  - Fixed several memory leaks for editing operations
  - Reduced size of Notepad2.exe program file


New in Version 3.0.20 (released October 31, 2008)

  - Notepad2 converted to a native Win32 Unicode application
  - "Copy Add" (Ctrl+E) to append selected text to clipboard
  - "Unwrap Paragraphs" (Ctrl+Shift+J)
  - "Strip Last Character" (Alt+U)
  - "Select Line", can be used repeatedly (Ctrl+Shift+Space)
  - Remapped "Delete Line" hotkey to Ctrl+Shift+D
  - Remapped "Transparent Mode" hotkey to Alt+O
  - Allow easy toggling of find and replace dialogs (Ctrl+F, Ctrl+H)
  - Save and restore find and replace dialog positions (Ctrl+O, Ctrl+P)
  - Files with UTF-8 Signature always loaded in UTF-8 mode
  - Simple HTML detection for files without extensions
  - Support basic Emacs file variables (see FAQ on my website)
  - Update timestamps (Shift+F5) (see FAQ on my website)
  - %APPDATA% searched for existing ini-file
  - Modest enhancements to scheme customization dialog
  - Improved performance for saving settings to ini-file
  - Less restrictive handling of quoted filenames on command line
  - Keep scrolling positions when reloading changed files
  - Modified /s command line switch to work with extensions, not ids
  - /m command line switch to match specified text
  - /q command line switch to force creation of new files
  - Pass command line switches to existing windows: /s /t /h /x /g /q
  - Proceed to next match after choosing "replace" in replace dialog
  - Fixed some more find and replace problems
  - Improved visual appearance on Windows Vista
  - Updated Scintilla library to 1.77


New in Version 2.1.19 (released April 10, 2008)

  - "Line Comment" (Ctrl+Q) and "Stream Comment" (Ctrl+Shift+Q)
  - "Title Case" (Ctrl+Alt+T) and "Sentence Case" (Ctrl+Alt+S)
  - "Compress Whitespace" (Alt+P) command reduces spaces and tabs
  - Original Notepad .LOG feature
  - /f command line switch to set ini-file (/f0 to omit ini-file)
  - /p command line switch trumps sticky window position
  - /p0 uses system default settings for new window position
  - Move new off-screen windows prior to resizing
  - Option to skip Unicode text detection (File, Encoding, Default)
  - Reload file with different default encoding (Ctrl+F8, Shift+F8)
  - Unsaved documents with just whitespace considered empty
  - Improved handling of relative path names
  - File dialog filters can be specified in the Notepad2 ini-file
  - Type of indent guides can be specified in the Notepad2 ini-file
  - Track width of displayed text to adjust horizontal scroll range
  - Selected find results are better scrolled into view
  - Restore scrolling positions on revert
  - Ctrl+Back and Ctrl+Del stop at newlines, as usual on Windows
  - Ctrl+Space doesn't select initial line indentation whitespace
  - Ctrl+Tab hotkey modified to always insert a tabulator
  - Increase (Alt++) and decrease (Alt+-) long lines limit
  - Display long lines limit in statusbar if visual marker enabled
  - Import and export settings from customization dialog (Alt+I, Alt+X)
  - Added "Regular Expression" style to JavaScript and Java schemes
  - Updated filename extension lists with more default types
  - Updated Python keywords to version 3.0
  - Simplified SQL keywords (merged from MySQL and SQLite)
  - Improved compatibility with Windows Vista
  - Improved visual appearance of toolbar button images
  - Print margins can be set to "0"
  - Fixed several bugs with regular expression find and replace
  - Fixed bug with hanging of recent files dialog
  - Fixed bug with charset not being saved properly
  - Fixed bug with display of text selection at the beginning of lines
  - Fixed bug with cursor movement at start and end of wrapped lines
  - Updated Scintilla library to 1.76


New in Version 2.0.18 (released July 26, 2007)

  - "Select To" command in find dialog allows expanding the selection
  - "Select To Next" (F2) and "Select To Previous" (Shift+F2)
  - "Save Find Text" (Alt+F3) for later use with F2, F3, etc.
  - "Swap" (Ctrl+K) to exchange selected text with clipboard contents
  - Notepad2.exe program file is compressed with UPX by default


New in Version 2.0.17 (released July 24, 2007)

  - Option to allow only one Notepad2 window for each file
  - Option to display filename in window title in various forms
  - Hotkey Shift+Esc to save file and exit Notepad2
  - Indent size can be specified separately from tab width
  - Indent guides are highlighted along with matching braces
  - Caret can be displayed as a block (specify "block" for caret width)
  - Find and replace dialogs can be toggled from the toolbar
  - Tray icon is restored when Explorer is restarted
  - Fixed bug with brace matching
  - Fixed bug with replacement of ^c cutting the last character
  - Fixed bug with regular expression search causing infinite loop
  - Updated Scintilla library to 1.74


New in Version 2.0.16 (released May 14, 2007)

  - The msvcr70.dll runtime library is no longer required
  - "Enclose Selection" helper tool (Alt+Q)
  - Single line files are opened with default line ending mode
  - Remapped hotkey Ctrl+Shift+Z from "Undo" to "Redo"
  - Remapped hotkey Ctrl+Shift+Y from "Redo" to "Undo"
  - Fixed bug: problem with MRU lists causing random crashes
  - Fixed bug: moving lines up/down not working properly
  - Fixed bug: window settings overwritten on new screen resolution


New in Version 2.0.15 (released April 07, 2007)

  - BSD License for Notepad2 and source code (see License.txt)
  - "Insert HTML/XML Tag" helper tool (Alt+X)
  - Regex support for \d, \D, \s, \S, \w, \W, \xHH
  - Text selection can have "eolfilled" style (on by default)
  - Caret blink rate is set to system default on startup
  - Support for opening makefiles without filename extension
  - Dropped Windows 9x support
  - Requires msvcr70.dll runtime library
  - Updated Scintilla library to 1.73


New in Version 2.0.14 (not released to the public)

  - Find and replace dialogs: Don't wrap around on find option
  - Use the clipboard contents as the replacement text (enter ^c)
  - Date and time formats can be changed using template strings
  - "FileCheckInterval" ini-setting (see FAQ on my website)


New in Version 2.0.13 (not released to the public)

  - Settings are stored in ini-file
  - File change notification (optional)
  - Find and replace dialogs are now modeless
  - Multiline find and replace through transform backslashes function
  - Find next / previous word / selected text (Ctrl+F3, Ctrl+Shift+F3)
  - Find and replace dialogs: exclusive options deactivate each other
  - Find wrap notification message can be deactivated
  - Preview function in scheme customization dialog
  - Quickly change the default font (F2)
  - Script information is saved along with font settings
  - Selection and current line background support transparency
  - Open ASCII files as UTF-8 if the default setting is UTF-8
  - Open empty files with default encoding and line ending settings
  - Don't prompt to save modified empty untitled documents
  - Line endings are always converted to current setting on paste
  - Ensure consistent line endings option (File, Line Endings, Default)
  - NTFS streams are preserved when saving files
  - Switching encoding performs proper text conversion to new encoding
  - Encoding conversion notification message can be deactivated
  - Encoding selection dialog displays info about system ANSI code page
  - Downgraded ANSI code page support to system default only
  - Big file warning message can be deactivated
  - "Wrap Text To Column" command (Ctrl+Shift+W)
  - "Modify Lines" command to prefix and append text to lines (Alt+M)
  - "Duplicate Selection" command (Alt+D)
  - "Invert Case" command (Ctrl+Shift+E)
  - "Clear clipboard" command (in the "Edit" menu)
  - Force indent and unindent (Ctrl+Tab, Ctrl+Shift+Tab)
  - Highlight current line (Ctrl+Shift+I)
  - Additional hotkey for "New File": Ctrl+F4
  - Mapped Ctrl+Shift+Y/Z to Ctrl+Y/Z
  - New hotkey for "Tab Settings" (Ctrl+T)
  - Changed hotkey for "Join Lines" (Ctrl+J)
  - Rearranged some items in the "View" and "Settings" menus
  - "Copy" tool button works as "Copy All" when no text selected
  - "Clear" tool button works as "Clear All" when no text selected
  - Ctrl+Space: select line if word is already selected
  - <br>, <hr> and other tags are no longer closed automatically
  - File, revert now asks if you really want to revert the file
  - "Open with..." and "Favorites" directories can be relative
  - Directories can be used as favorites (triggers open dialog)
  - Filter for open and save dialogs is always set to *.*
  - Location of metapath.exe can be specified in ini-file
  - "DefaultDirectory" ini-setting (see FAQ on my website)
  - "DefaultExtension" ini-setting (see FAQ on my website)
  - Select print color mode (defaults to color on white)
  - Don't print separator line if header or footer omitted
  - Added proper support for multiple monitor systems
  - Allow multiple window position settings for different screen sizes
  - Option to use a sticky window position
  - New command line switches to select syntax schemes: /s, /t, /h, /x
  - Added Apache Config Files syntax highlighting
  - Added Perl POD verbatim style
  - Updated PHP keywords to PHP5
  - Updated SQL keywords
  - Updated CSS syntax highlighting to CSS2
  - Removed NSIS syntax highlighting
  - Removed ActionScript syntax highlighting
  - Removed "Bookmarks" feature
  - Removed "Delete Line Left/Right" and "Transpose Line" commands
  - Removed code page trace message
  - Fixed several bugs that caused Notepad2 to crash when saving files
  - Fixed crash when printing to offline printer
  - Fixed bug with transparency level setting


New in Version 1.0.12 (released June 25, 2004)

  - Notepad2 source code now released under the GNU GPL
  - "Read Only" option handles file attributes
  - Enhanced find and replace dialogs with new options
  - Optionally auto close HTML/XML tags (Ctrl+Shift+H)
  - Improved tabify/untabify selection functions
  - New hotkey to select XML scheme (Shift+F11)


New in Version 1.0.11 (released May 30, 2004)

  - Simple favorites management based on file shortcuts (Alt+I)
  - Optional toolbar buttons for favorites management
  - Improved undo / redo handling of auto indent text
  - Better cursor behaviour for line editing commands
  - Clipboard text is converted according to font character set
  - Auto-select ANSI code page option (File, Encoding, Default...)
  - Windows system text and background colors used by default
  - Enabled some new comment styles for C/C++ related languages


New in Version 1.0.10 (released May 21, 2004)

  - Option to select a default syntax scheme (F12)
  - Find, replace, upper- and lowercase handle umlauts and accents
  - Paste board feature (cmd switch /b) to collect clipboard entries
  - Text is copied to clipboard in Unicode format (Windows NT/2k/XP)
  - Reload current file without encoding detection (F8)
  - Updated CSS properties to version 2.1
  - "Reuse Window" disabled by default to allow multiple windows


New in Version 1.0.09 (released May 13, 2004)

  - Convert tabs to spaces and vice versa (Ctrl+Shift+S/T)
  - Insert time/date (short form/long form) (Ctrl+F5, Ctrl+Shift+F5)
  - Insert filename/path and filename (Ctrl+F9, Ctrl+Shift+F9)
  - Added missing copy line command (Ctrl+Shift+C)
  - Enabled script selection in font dialogs


New in Version 1.0.08 (released May 08, 2004)

  - Find and replace dialogs accept Unicode input (Windows NT/2k/XP)
  - Warning message for large files (customizable using Notepad2.reg)
  - Default file extension is "txt" (customizable using Notepad2.reg)
  - New command line parameters: /c, /g, /?
  - Fixed writing of hidden and system files (Windows XP/2k)
  - Fixed some handling problems with relative pathnames
  - Notepad2.txt outlines how to import and export Notepad2 settings


New in Version 1.0.07 (released May 03, 2004)

  - Select default encoding for new files
  - Select default line endings for new files
  - Right clicking moves cursor if no selection
  - Zooming with Ctrl+Mousewheel recalculates line number width


New in Version 1.0.06 (released April 30, 2004)

  - Word wrap settings, show word wrap symbols (Ctrl+Shift+0)
  - Move line up/down (Ctrl+Shift+Up/Down)
  - Remove blank lines (Alt+R)
  - Bookmarks for file navigation (Ctrl+F2)
  - Minimal print header and footer customization
  - Remapped some keyboard shortcuts (see Notepad2.txt)
  - Added a few comments to Notepad2.txt


New in Version 1.0.05 (released April 26, 2004)

  - Support for XML, ActionScript 2.0, Python, NSIS Script
  - Fully customizable second default style (Shift+F12)
  - Find matching brace (Ctrl+B)
  - Select to matching brace (Ctrl+Shift+B)
  - Goto column (Ctrl+J)
  - Optionally change background color of long lines
  - Transparent mode on Windows 2k and above (Alt+U)
  - Fixed line endings detection for Unicode files


New in Version 1.0.04 (released April 20, 2004)

  - Fixed loading of UTF-8 files with signature


New in Version 1.0.03 (released April 19,2004)

  - Toggle word wrap toolbar button
  - New block command: strip first character (Alt+Z)
  - Strip trailing blanks uses selection, if any


New in Version 1.0.02 (released April 17, 2004)

  - Reload current file (F5)
  - Revised printing functionality
  - Zooming recalculates line number width


New in Version 1.0.01 (released April 15, 2004)

  - Initial public release


Installation and Uninstallation

  Just put a copy of Notepad2.exe and Notepad2.ini to any directory on
  your computer. To uninstall Notepad2, simply delete these two files.
  Notepad2 does not create any registry entries on your computer.


Keyboard Shortcuts for Notepad2

  File

    Ctrl+N                New file.
    Ctrl+F4               Close file, identical with Ctrl+N.
    Ctrl+O                Open file.
    F5                    Reload file.
    F8                    Recode file.
    Ctrl+Shift+F          Recode file as default encoding.
    Ctrl+Shift+A          Recode file as system default ANSI.
    Ctrl+Shift+O          Recode file as system default OEM.
    Shift+F8              Recode 7-bit ASCII file as UTF-8.
    Alt+F8                Reload file without file variable parsing.
    Ctrl+S                Save file.
    F6                    Save file as.
    Ctrl+F6               Save file copy.
    Ctrl+P                Print file.
    Alt+H                 Open recent file.

  Tools

    Alt+N                 Open document in new window.
    Alt+0                 Open new empty window.
    Ctrl+M                Run metapath file browser plugin.
    Ctrl+L                Launch document.
    Alt+L                 Open with.
    Ctrl+R                Run command.

  Favorites

    Alt+I                 Open favorites.
    Alt+K                 Add to favorites.
    Alt+F9                Manage favorites.

  Edit

    Ctrl+Z                Undo.
    Ctrl+Shift+Z          Redo.
    Alt+Backspace         Undo.
    Ctrl+Y                Redo.
    Ctrl+Shift+Y          Undo.
    Ctrl+X                Cut.
    Shift+Del             Cut.
    Ctrl+C                Copy.
    Alt+C                 Copy all.
    Ctrl+E                Copy add.
    Ctrl+V                Paste.
    Shift+Ins             Paste.
    Ctrl+K                Swap.
    Del                   Clear.
    Ctrl+A                Select all.
    Alt+Shift+Arrows      Rectangular selection.
    Ctrl+Enter            New line with toggled auto indent option.
    Ctrl+PgUp/PgDn        Goto previous/next block.
    Ctrl+Shift+PgUp/PgDn  Select to previous/next block.

  Char, Word

    Ctrl+Space            Select word (or line).
    Ctrl+Backspace        Delete word before/left.
    Ctrl+Del              Delete word after/right.
    Ctrl+Tab              Insert tabulator.

  Lines

    Ctrl+Shift+Space      Select line.
    Ctrl+Shift+Up         Move line (block) up.
    Ctrl+Shift+Down       Move line (block) down.
    Ctrl+D                Duplicate line.
    Ctrl+Shift+X          Cut line.
    Ctrl+Shift+C          Copy line.
    Ctrl+Shift+D          Delete line.
    Ctrl+Shift+Backspace  Delete line left.
    Ctrl+Shift+Del        Delete line right.
    Ctrl+Shift+W          Column wrap.
    Ctrl+I                Split lines.
    Ctrl+J                Join lines.
    Ctrl+Shift+J          Join paragraphs.

  Block

    Tab                   Indent selected block.
    Shift+Tab             Unindent selected block.
    Alt+Q                 Enclose selection.
    Alt+D                 Duplicate selection.
    Alt+B                 Pad with spaces.
    Alt+Z                 Strip first character.
    Alt+U                 Strip last character.
    Alt+W                 Strip trailing blanks.
    Alt+P                 Compress whitespace.
    Alt+Y                 Merge blank lines.
    Alt+R                 Remove blank lines.
    Alt+M                 Modify lines.
    Alt+J                 Align lines.
    Alt+O                 Sort lines.

  Convert

    Ctrl+Shift+U          Make uppercase.
    Ctrl+U                Make lowercase.
    Ctrl+Alt+U            Invert case.
    Ctrl+Alt+I            Title case.
    Ctrl+Alt+O            Sentence case.
    Ctrl+Shift+S          Convert tabs to spaces.
    Ctrl+Shift+T          Convert spaces to tabs.
    Ctrl+Alt+S            Convert indenting tabs to spaces.
    Ctrl+Alt+T            Convert indenting spaces to tabs.

  Insert

    Alt+X                 HTML/XML tag.
    Ctrl+F8               Encoding identifier.
    Ctrl+F5               Time/date (short form).
    Ctrl+Shift+F5         Time/date (long form).
    Ctrl+F9               Filename.
    Ctrl+Shift+F9         Path and filename.

  Special

    Ctrl+Q                Block comment (toggle).
    Ctrl+Shift+Q          Stream comment.
    Ctrl+Shift+E          URL Encode.
    Ctrl+Shift+R          URL Decode.
    Ctrl+Alt+E            Escape C Special Chars.
    Ctrl+Alt+R            Unescape C Special Chars.
    Ctrl+Alt+X            Convert character to hex code.
    Ctrl+Alt+C            Convert hex code to character.
    Ctrl+B                Find matching brace.
    Ctrl+Shift+B          Select to matching brace.
    F2                    Expand selection to next match.
    Shift+F2              Expand selection to previous match.
    Ctrl+1                Enclose within ''.
    Ctrl+2                Enclose within "".
    Ctrl+3                Enclose within ().
    Ctrl+4                Enclose within [].
    Ctrl+5                Enclose within {}.
    Ctrl+6                Enclose within ``.
    Shift+F5              Update timestamps.
    Ctrl+Alt++            Increase number.
    Ctrl+Alt+-            Decrease number.
    Ctrl+,                Jump to selection start.
    Ctrl+.                Jump to selection end.

  Find, Replace

    Ctrl+F                Find.
    Alt+F3                Save find text.
    F3                    Find next.
    Shift+F3              Find previous.
    Ctrl+F3               Find next word or selection.
    Ctrl+Shift+F3         Find previous word or selection.
    Ctrl+H                Replace.
    F4                    Replace next.
    Ctrl+G                Jump to line.

  Syntax scheme, Font

    F12                   Select syntax scheme.
    Shift+F12             Select 2nd default syntax scheme.
    Ctrl+F12              Customize syntax schemes.
    Alt+F12               Select default font.
    F11                   Select default text syntax scheme.
    Ctrl+F11              Select web source code syntax scheme.
    Shift+F11             Select XML document syntax scheme.

  View

    Ctrl+W                Toggle word wrap.
    Ctrl+Shift+L          Show long line marker.
    Ctrl+Shift+G          Show indentation guides.
    Ctrl+Shift+N          Show line numbers.
    Ctrl+Shift+M          Show selection margin.
    Ctrl+Shift+8          Show whitespace.
    Ctrl+Shift+9          Show line endings.
    Ctrl+Shift+0          Show wrap symbols.
    Ctrl+Shift+V          Toggle visual brace matching.
    Ctrl+Shift+I          Highlight current line.

  Zoom

    Ctrl++                Zoom in.
    Ctrl+-                Zoom out.
    Ctrl+/                Reset zoom.

  Settings

    Ctrl+T                Tab settings.
    Alt++                 Increase limit for long lines.
    Alt+-                 Decrease limit for long lines.
    Ctrl+Shift+H          Toggle auto close HTML/XML.
    Alt+T                 Always on top.
    Ctrl+0                Transparent mode.
    Alt+F5                File change notification settings.
    Ctrl+9                Display text excerpt in title.
    F7                    Save settings now.
    Ctrl+F7               Jump to ini-file.

  Misc.

    Shift+F9              Copy pathname to clipboard.
    Ctrl+Shift+K          Copy window position to clipboard.
    Ctrl+Shift+P          Move window to default position.
    Esc                   Optionally minimize or exit Notepad2.
    Shift+Esc             Save file and exit Notepad2.
    F1                    Display version info.


Regular Expression Syntax

  Note: the Scintilla source code editing component supports only a
  basic subset of regular expression syntax, and searches are limited
  to single lines.

  .      Matches any character.

  (...)  This marks a region for tagging a match.

  \n     Where n is 1 through 9 refers to the first through ninth
         tagged region when replacing. For example, if the search
         string was Fred([1-9])XXX and the replace string was Sam\1YYY,
         when applied to Fred2XXX this would generate Sam2YYY.

  \<     This matches the start of a word.

  \>     This matches the end of a word.

  \x     This allows you to use a character x that would otherwise
         have a special meaning. For example, \[ would be interpreted
         as [ and not as the start of a character set.

  [...]  This indicates a set of characters, for example, [abc] means
         any of the characters a, b or c. You can also use ranges, for
         example [a-z] for any lower case character.

  [^...] The complement of the characters in the set. For example,
         [^A-Za-z] means any character except an alphabetic character.

  ^      This matches the start of a line (unless used inside a set,
         see above).

  $      This matches the end of a line.

  ?      This matches 0 or 1 times. For example, a?b matches ab and b.

  *      This matches 0 or more times. For example, Sa*m matches Sm,
         Sam, Saam, Saaam and so on.

  +      This matches 1 or more times. For example, Sa+m matches Sam,
         Saam, Saaam and so on.

  *?     Causes * and + to behave non-greedy. For example, <.+> matches
  +?     all HTML tags on a line, whereas <.+?> matches only one tag.

  \d     Any decimal digit.
  \D     Any character that is not a decimal digit.

  \s     Any whitespace character.
  \S     Any character that is not a whitespace character.

  \w     Any "word" character.
  \W     Any "non-word" character.

  \xHH   Character with hex code HH.

  -----> Examples (don't use quotes)
         - Quote lines: find "^" replace with "> "
         - Unquote lines: find "^> " replace with ""
         - Remove line numbers: find "^[0-9]+" replace with ""
         - Convert tabs to double spaces: find "\t" replace with "  "
         - Remove NULL bytes: find "\x00" replace with ""


Command Line Switches

  Notepad2.exe [encoding] [line-ending-mode] [/e id] [/g ln[,col]]
               [/m[-][r|b] text] [/l|/l0] [/q] [/s ext] [/d] [/h] [/x]
               [/c] [/b] [/n|/ns] [/r|/rs]
               [/p x,y,cx,cy[,max]|/p0|/ps|/p[f|l|t|r|b|m]]
               [/t title] [/i] [/o|/o0] [/f ini|/f0] [/u] [/z ...] [/?]
               [+|-] [file] ...

    file  File to open, can be a relative pathname, or a shell link.
          Must be the last argument, no quoted spaces by default.
    +     Accept multiple file arguments (with quoted spaces).
    -     Accept single file argument (without quoted spaces).
    ...   Desired file encoding (can be one of /ansi, /unicode,
          /unicodebe, /utf8 or /utf8sig).
    ...   Desired line ending mode (either /crlf, /lf, or /cr).
    /e    Specify file source encoding.
    /g    Jump to specified position, /g -1 means end of file.
    /m    Match specified text (/m- last, /mr regex, /mb backslash).
    /l    Auto-reload modified files; /l0 disable change notification.
    /q    Force creation of new files without prompt.
    /s    Select syntax scheme associated with specified extension.
    /d    Select default text scheme.
    /h    Select Web Source Code scheme.
    /x    Select XML Document scheme.
    /c    Open a new Notepad2 window and paste the clipboard contents.
    /b    Open a new Notepad2 paste board to collect clipboard entries.
    /n    Always open a new Notepad2 window (/ns single file instance).
    /r    Reuse Notepad2 window (/rs single file instance).
    /p    Set window position to x,y with size cx,cy, optional max set
          to nonzero to zoom; /p0 system, /ps internal defaults;
          /p(f)ull,(l)eft,(t)op,(r)ight,(b)ottom,(m)argin.
    /t    Set window title.
    /i    Start as tray icon.
    /o    Keep window on top; /o0 do not keep window on top.
    /f    Specify ini-file; /f0 use no ini-file (don't save settings).
    /u    Launch with elevated privileges.
    /z    Skip next (usable for registry-based Notepad replacement).
    /?    Display a brief summary about command line parameters.


Source Code

  Notepad2 is based on the Scintilla source code editing component:
  http://www.scintilla.org

  The full Notepad2 source code can be found at:
  http://www.flos-freeware.ch


More Information and Resources

  For more information on Notepad2 features, how to replace Windows
  Notepad, and answers to the most frequently asked questions (FAQ),
  please visit the Notepad2 website:
  http://www.flos-freeware.ch


Feature Requests

  Thank you very much for the overwhelming feedback about Notepad2!
  Feature requests are always welcome, but please keep in mind that
  Notepad2 has been designed as a compact Notepad replacement.


Credits and Special Thanks

  Here I would like to say "THANK YOU" to the developers of the great
  Scintilla source code editing component [1], which is the core of
  Notepad2. Without Scintilla, the rich features found in Notepad2
  wouldn't have been possible!

  [1] http://www.scintilla.org

  Many thanks to everybody for sending me bug reports and useful hints.
  A special thank goes to Roland Weigelt [2] for his helpful thoughts
  and comments about Notepad2 features and usability in early develop-
  ment stages. I'd also like to express my thanks to Timo Kunze [3],
  Kai Liu [4], Moritz Kroll, Seunghun Thomas Lee [5] and Shawn
  Brenneman for sending detailed bug reports and ready-to-use patches.

  [2] http://www.roland-weigelt.de
  [3] http://www.TimoSoft-Software.de
  [4] http://code.kliu.org/misc/notepad2/
  [5] stlee42@gmail.com


Copyright

  Notepad2 is FREE SOFTWARE and may be used and distributed freely.
  Please do not charge any distribution or download fees for this
  program, except for the cost of the distribution medium. The use of
  this software is AT YOUR OWN RISK. See License.txt for full details.

  If you have comments or questions, please drop me a note:
  florian.balmer@gmail.com

  (c) Florian Balmer 2004-2011

###
