How To Get The Latest Version of EditPad Pro

EditPad Pro 8 was released on 23 December 2019. If you purchased EditPad Pro on or after 23 December 2019, then you purchased EditPad Pro 8 and you can download the latest version immediately. If you purchased EditPad Pro between 23 December 2018 and 22 December 2019 then you purchased EditPad Pro 7 and got a free major upgrade to EditPad Pro 8. If you did not receive the email with the new user ID for the free major upgrade, enter your email address on the download page to have it resent.

If you purchased EditPad Pro prior to 23 December 2018 then you own EditPad Pro version 7 or earlier. If you download EditPad Pro again, you will receive the latest free minor update for you. Since you already own a previous version, you can buy version 8 at the discounted price of US$ 29.95 instead of the full price of US$ 59.95 which new customers pay.

If you are not sure which version you own, simply type in your user id and email address below. If you own version 8, you will be told you can download the latest version free of charge. If not, you will be presented with the form to purchase the upgrade.

You can upgrade to EditPad Pro 8 via our secure online checkout. We accept all major credit cards, debit cards, and prepaid cards. You can also pay by bank transfer. When paying with a card or another instantaneous payment method you will be able to download EditPad Pro 8 immediately after completing checkout.

Please enter the email address associated with your current EditPad Pro license, and your EditPad Pro user ID. If you lost your user ID, you can have it resent instantly by entering your email address on the download page. If you have your user ID, it doesn’t matter if the email address no longer works. You can enter new contact details on the order form.

Email address:
EditPad Pro user ID:
Number of users to upgrade: (omit to keep the same number of users)

The exact pricing depends on the number of users you want the upgraded license to be valid for. If you leave the “number of users to upgrade” box blank, then your EditPad Pro 8 license will be valid for the same number of users as your previous EditPad Pro license. If you want to increase or decrease the number of users, enter the total number of users that the upgraded license should be valid for. If the number of users you want to upgrade is the same or less than you had on the original license, then the price is calculated using the following table with the volume discount for the number of users you are upgrading. If the number of users you want on the upgraded license is greater than you had on the original license, then the price is the sum of the upgrade cost for the users on the original license with the volume discount for the number of users on the original license, plus the new user price for the additional users with the volume discount for the total number of users on the upgraded license. For larger quantities than listed below, please contact us.

EditPad Pro Upgrade to Version 8Package PriceUnit Price
EditPad Pro single user upgrade to version 8US$ 29.95US$ 29.95
EditPad Pro 5-user upgrade to version 8US$ 119.00US$ 23.80
EditPad Pro 10-user upgrade to version 8US$ 209.00US$ 20.90
EditPad Pro 20-user upgrade to version 8US$ 379.00US$ 18.95
EditPad Pro 30-user upgrade to version 8US$ 509.00US$ 16.96
EditPad Pro 50-user upgrade to version 8US$ 749.00US$ 14.98
EditPad Pro 75-user upgrade to version 8US$ 969.00US$ 12.92
EditPad Pro 100-user upgrade to version 8US$ 1,099.00US$ 10.99

Prices shown on our website exclude taxes. Sales tax, VAT, or GST will be added during checkout if your country imposes such taxes on internet sales. You will have the opportunity to provide a tax ID or VAT number to remove the tax if your business is tax exempt.

“Very happy with current state of EditPad Pro (8.1.2). Very robust now. Use it every day for programming work. Have integrated my favourite tools into it with the excellent Tools features.”
— David Barlett
  7 November 2020, United Kingdom
“This EPP 8 is truly brilliant. I’m progressively finding more and more features that substantially improve my workflow speed.”
— Philip Goddard
  13 January 2020, United Kingdom
“EditPad Pro 8 is a great Christmas surprise! :-) It contains so many improvements ... very impressive. You made a very good product even better. Congratulations and many thanks! Merry Christmas and a Happy New Year!”
— Jürgen Lüthje
  26 December 2019, Germany
“Thanks for your work on version 8. I always recommend EPP to anyone asking for this type of program.”
— Jon Graef
  26 December 2019, United Kingdom

What’s New in EditPad Pro 8

EditPad Pro 8 is a major upgrade from previous releases with lots of new features and improvements. These release notes only explain the most significant ones. The version history has the complete list.

Installation

The Advanced Options button in the installer now gives you a choice between installing EditPad for all users and installing for the current user only. The latter option enables a proper installation of EditPad with desktop icons and file associations, without requiring administrator privileges.

Appearance

The most apparent change in EditPad 8 are the new toolbar icons. The new flat look of the icons better matches the flat look of Windows 10. EditPad includes them in 10 different sizes that cover all the scaling increments from 100% to 400% available in the basic display settings in Windows. EditPad can now correctly scale its toolbars on all PC and laptop displays, including small laptops with 4K screens. Toolbar icons can now be switched between small, medium, and large sizes by right-clicking the toolbar.

You can customize the mouse pointer on the Cursors page in the Preferences. You can now have a different pointer over selected text. Custom mouse pointers now support sizes larger than 32x32 when DPI scaling is set to 200% or more, supporting DPI scaling up to 400%. If you select a custom mouse pointer with inside and outside colors then those colors are also used for the mouse pointer that indicates scrolling when you click the editor with the mouse wheel. This scrolling cursor now supports all resolutions between 100% and 400% display scaling.

EditPad has a new dark theme that makes EditPad’s entire user interface use white text with black and dark gray backgrounds. You can toggle this theme with the View|Dark Theme menu item. The menu item also switches the color palettes assigned to file types between dark and light variants.

The Panels page in the Preferences has a new option to make the side panels use the same colors as the editor. This causes the side panels to change colors when switching between files that use different palettes. It makes EditPad’s colors more uniform.

Syntax Coloring and Color Palettes

You can select a syntax coloring scheme and a color palette for each file type on the Colors & Syntax page in the file type configuration. Many more predefined color palettes are now available. There are “Solarized” and “Harmonized” palettes with reduced contrast and monochrome palettes for which the color picker only shows a limited set of colors. For these palettes, the picker shows all the colors used in the selected palette in the order that they are first used so you can easily use exactly the same color for multiple elements. There are also new palettes optimized for the most common types of color blindness.

Each color palette now has an associated printing palette with black text on a pure white background. The printing palette is used as the default when printing. Selecting a palette with a colored background in the print preview now prints the file with that background color which may use a lot of ink.

Color palettes can now be exported into separate .ini files so you can easily share them with others.

The new “Editor: Extra space between lines” color allows you to display ruled lines by setting it to a different color than the plain text color and by adding extra space between lines in the text layout configuration.

You now have more options to customize individual colors. Many different underlining styles are now available, including a wavy underline typically used for misspelled words. Underline can now use a different color than the font. You can now add a strikeout, which can have the same or a different color as the font. Bold and italic now offer an “unchanged” choice that uses the style selected in the text layout configuration; this allows the “off” choice to force bold or italic to be off. The new Copy and Paste buttons make it easy to apply the same settings to the same named color. Selecting “default” as the background, text, or underline color for selected text now leaves that color unchanged when text is selected instead of using the highlighting colors of the Windows theme. This allows syntax coloring to remain visible when text is selected.

Many syntax coloring schemes have been improved. Batch file syntax coloring now supports bracket matching and better highlights environment variables. HTML and XML syntax coloring schemes now define entire opening tags including attributes as opening brackets rather than just the tag itself; in addition the angle brackets of opening and closing tags are now defined as brackets. This allows Block|Between Matching Brackets to properly select HTML tags and text between HTML tags. Whether angle brackets are matched separately can be chosen in the file type configuration. Perl syntax coloring now supports nested paired parentheses, brackets, and braces inside strings, regexes, and substitutions quoted with parentheses, brackets, or braces. PHP with JavaScript syntax coloring scheme can now highlight PHP code inside JavaScript.

File Types

With all the file types that EditPad Pro supports, the File|New and Options|File Type submenus and the drop-down lists in Open and Save dialogs can become very long. You can now reduce those lists by turning off the new “Show in file type selection lists” option on the Definition page in the file type configuration for file types that you don’t normally use. File types that you hide this way do remain functional. If you open a file that matches the file mask of a hidden file type, EditPad does use the hidden file type’s settings for that file.

Files normally have an extension such as .txt on the Windows platform. EditPad uses the extension to determine the file type, which determines the settings to use for the file. On UNIX platforms, text files often have no extension. EditPad now has a predefined “Without Extension” file type that determines EditPad’s settings for files without an extension. The file mask *. is now interpreted as a file masks for files without an extension (or any dot in their name at all) to make this file type possible.

Text Encoding

Setting a file type’s default encoding to Unicode could cause problems when opening a file that is not Unicode. Setting the default encoding to UTF-16 and then opening a file that has ASCII text would appear as Chinese gibberish until you used Convert|Text Encoding to reinterpret with the correct legacy code page. Now you can specify a non-Unicode encoding for each file type that has Unicode as its default encoding. EditPad will use this fallback encoding for files that aren’t valid Unicode files or that reference unassigned code points.

The ASCII section of the hexadecimal editor now uses the file type’s default encoding or non-Unicode encoding if they are 8-bit encodings. The encoding from the Editor Preferences is used if they are not. You can use Convert|Text Encoding to change the encoding used for the ASCII section in hexadecimal mode.

Text Layout

EditPad now better supports modern programming fonts like Fira Code and Hasklig that can form ligatures of ASCII characters. It even uses these fonts by default for its monospaced text layouts if they are available when you first run EditPad.

Complex script text layouts previously supported most ASCII ligatures. Now they also support ligatures with parentheses and angle brackets. They work correctly with all fonts that support ASCII ligatures. Ligatures remain when they are partially selected or when syntax coloring applies different colors to the characters that form the ligature.

The monospaced left-to-right text layout previously did not support ASCII ligatures. Now it does. But it only works correctly with fonts like Fira Code and Hasklig that use one glyph per character even for ligatures. It does not work with fonts like DejaVu Sans Code that use one glyph per ligature. Ligatures are broken (showing the original characters) when they are partially selected or when syntax coloring applies different colors to the characters that would have formed the ligature. This text layout no longer clips italic overhang at the end of words or at color changes, as was already the case for other text layouts.

All text layouts now have independent options for treating underscores, hyphens, other punctuation, currency symbols, math symbols, and/or symbols as word characters.

The monospaced left-to-right text layout now assumes that characters in right-to-left scripts are stored in visual order in the file. This allows files from old (DOS) systems that did not support modern bidirectional editing to be displayed correctly. As a consequence, the monospaced left-to-right text layout also disables automatic font substitution. Only characters supported by the font will be displayed.

The non-monospaced left-to-right text layout still allows Windows font substitution, and does not support ligatures. Complex script text layouts now always use the main font for visualized spaces and generic line breaks.

Text files normally don’t contain control characters other than tabs or line breaks. But when they do, they would often be invisible in previous versions of EditPad because most fonts can’t display them. Now the text layout configuration allows you to choose how EditPad should visualize control characters. The options that use letter pairs (like NU for NULL), hexadecimal numbers, or Control+Letter indicators work regardless of the font. Other options like the IBM PC glyphs or Unicode glyphs do depend on the font. The new “Editor: Control characters” color in the color palette allows you to show control characters in a different color or apply an underline or strikeout to mark them as inappropriate for text files. In hexadecimal mode, the ASCII part of the editor also uses the setting from the text layout configuration to display control characters instead of showing a little bullet for all of them. The hex editor does not use the special color for control characters.

Using the Options menu to select a text layout or font that is different from the file type’s default for an individual file is now remembered as part of the file’s status, if you enabled the option to preserve file status in Preferences|Save Files.

Tabbing and Indentation

EditPad’s ability to handle different tabbing and indentation styles has been greatly improved. The settings that deal with this have been moved onto a new Tabbing page in the file type configuration. The Tab Characters group has the options that determine the width of a tab. The Indentation group has the options that determine how many spaces or tabs are inserted or removed by Block|Indent and Block|Outdent.

Because other people may have their editors configured differently, you can now specify a regular expression that EditPad should use to detect the tab size. The regex needs to have a capturing group named “tab”. If this matches an integer between 2 and 32, that is taken as the tab size in spaces. Otherwise EditPad counts the number of characters matched by the group and takes that number as the tab size if it is between 2 and 8. If your regex also has a group named “tabspaces” then pressing the Tab key on the keyboard inserts spaces if that group finds a match other than “0”, “false”, “tab”, or “no”.

Turning on “elastic tab stops” makes EditPad dynamically calculate the width of tabs so that columns line up nicely for blocks of lines that have the same number of tabs, requiring only a single tab between the columns. Editing text that is followed by a tab on a particular line automatically adjusts the width of that tab on that line and all adjacent lines that have the at least that many tabs. When tab stops are elastic, the “tab size” setting applies only to tabs at the start of the line (indentation tabs). The “smallest gap between text” is the minimum tab size for other tabs. The key benefit of elastic tab stops is that it allows columns to line up neatly even with proportionally spaced fonts, and they will continue to line up neatly when you change the font or change the tab size. They will also line up neatly for other people, as long as you took care to only use one tab to delimit columns and indent lines only using tabs, and the other people’s editor also uses elastic tab stops.

Turn on “tab-separated values” to show tab-delimited, comma-delimited (CSV), or any-one-character-delimited files with properly aligned columns. You can enter any single character as the value delimiter. That character is then spaced like tab and shown with the color for visualized whitespace. You can also specify a quote and/or an escape character to be able to use the value delimiter within values as well. When you edit the file, the size of the tab that follows the edit is automatically adjusted throughout the entire file to make all the columns line up neatly. EditPad ships with predefined “comma-separated values” and “tab-separated values” file types for .csv and .tsv file types that use these options.

Turn on “keep the same level of indentation when pressing enter” to have the new line indented by the same amount as the previous line. This option was labeled “automatically indent new lines when pressing enter” in previous versions of EditPad. Options|Keep Indent toggles this option for the active file. This menu item was previously labeled Auto Indent.

The old “auto indent” feature was renamed to “keep indent” because that more accurately describes what it does and because EditPad Pro 8 now has real automatic indentation that can increase and decrease the amount of indentation. This requires a syntax coloring scheme that specifies which syntax in your file should increase or decrease indentation. Most of the schemes included with EditPad Pro 8 do this. Then you can turn on “automatically indent or outdent new lines based on the syntax coloring scheme” for the file type or toggle Options|Auto Indent for the file. If the scheme specifies that certain syntax should be treated like braces in C-style languages or like tags in markup languages then you can specify your indentation style on the new Brackets page in the file type configuration.

The Block|Indent and Block|Outdent can now detect the indentation size of text surrounding the block to be indented or outdented. They look at a block of 1,000 lines. If all the lines are indented by tabs, then the indentation size is one tab. If all the lines are indented by a multiple of the same number of spaces, then the indentation size is that number of spaces. Otherwise, the setting from the file type configuration is used.

When word wrap is on, you now have more options for indenting wrapped lines. Wrapped lines can be indented more or less than that line, relative to it. Or then can be indented a fixed amount.

On the Navigation page in the file type configuration, you can now enable indentation indicators. These are thin vertical lines or differently colored backgrounds that visualize how much lines are indented. You can enable them for all lines, or for lines surrounded by matching brackets or tags, or for lines inside a foldable range. You can configure their appearance via the four “Editor: Indentation level” colors in the file type’s palette. Options|Visualize Indentation lets you toggle the indentation indicators for the active file.

Editing Large Files

When you open a large file, you can now instantly jump to the end of the file by pressing Ctrl+End on the keyboard or by dragging the scroll bar’s thumb to the bottom. Previously you had to wait for EditPad to scan the whole file for line breaks to be able to access the end of the file. Now you only need to wait if you want to access the middle of the file and you only need to wait half as long. The Cursors page in the Preferences has a new option to place the cursor at the end of the file instead of at the top of the file when opening a file for which EditPad has not remembered an editing position.

File|Tail lets you load only the tail end of a large file. You can also use it to tell EditPad Pro that a file is only appended to when it grows. This way EditPad Pro only needs to load the newly added part instead of reloading the entire file. EditPad Pro can do so automatically on an interval, allowing you to monitor live log files. The Tail button on the FTP panel lets you do the same for files on an FTP server.

Hexadecimal mode now adds extra bytes to the address column as needed when opening files larger than 4 GB.

On the Open Files page in the Preferences, you can configure a threshold for huge files. Files smaller than that are kept in memory entirely. Files larger than that are loaded into memory as needed, allowing you to open files that are larger than the amount of RAM in your PC. New is that you can also configure how much memory EditPad Pro may use to keep the “needed” parts in memory. Increasing this limit improves performance as it reduces the need to reload these parts from disk as you move through the file, at a cost of making EditPad Pro use more memory. Also new is that EditPad Pro can swap modified parts of huge files out to disk when a chosen memory limit is reached. You can select the folder that should be used as temporary storage, preferably on your PC’s fastest drive.

Column Editing

Rectangular selections can now be zero columns wide. Those appear as a thick vertical line using the selection background color (or the selection underline or text color if no background color is used for selections). This enables direct column editing. If persistent selections are off, typing into a rectangular selection replaces the selection with the typed character on each line. Pressing Delete or backspace deletes the whole selection. If persistent selections are on, typing at the edge of a selection inserts the character on each line at that edge. Pressing Delete or Backspace deletes one character at the edge of the selection without otherwise changing the selection. That character may be inside or outside the selection. Pasting text that does not contain line breaks pastes it on each line (replacing the selected columns if selections are not persistent). After making an edit, a new selection is made that is zero columns wide so that editing can continue naturally.

Persistent selection mode can now be toggled via a menu item in the Block menu or its corresponding toolbar option, instead of having to go through the Preferences dialog. You may need to toggle this to make column editing or Instant Replace work for the task at hand.

Instant Search and Replace

The Instant Find Next/Previous and Instant Highlight commands now have icons so that you can place them as buttons on a toolbar. Some of these are on the main toolbar by default. This enables quick searches for other occurrences of the text under the cursor without using the Search panel at all. The new instant search options allow instant searches to be made case sensitive, restricted to whole words, or allowed to loop around the end of the file.

Instant Incremental Search allows you to search by typing in a search term without using the Search panel. Backspace goes to the previous search term. Arrow keys go to the following or preceding matches of the current search term.

Instant Replace allows you to replace all occurrences of a word or a selection by editing one of those occurrences. If there is a multi-line selection upon activation, then that becomes the search range. Editing any word within the search range automatically edits all occurrences of that word. Making a selection within the search range and editing it automatically edits all occurrences of the selected text. If selections are not persistent, moving the cursor outside the search range automatically ends Instant Replace. Regardless of whether selections are persistent, editing outside any highlighted matches automatically ends Instant Replace. If there is a non-multi-line selection upon activation, then all occurrences of the selected text are edited. Instant Replace works on the whole file and is automatically canceled when moving the cursor outside the text being edited. If there is no multi-line selection, and the selected text or the word under the cursor cannot be found, then Instant Replace is aborted as a failed search.

Backups and Working Copies

The Save Files page in the Preferences has new options for backups and working copies. Backup copies can now be limited by their total size. When restricting backups by age, backup copies older than a certain number of days are now reduced to one per day and backups older than a certain number of weeks are now reduced to one per week, instead of deleting all backups older than a certain number of days. This allows backups to be kept over a longer period without reaching the limit you set for their size or the number of copies.

If you select to keep multiple backups per file, you can now tell EditPad to automatically save the actual file every few minutes instead of saving a separate working copy. Separate working copies can now be saved in a specific folder or in a subfolder of the folder containing the original. Working copies are now saved when the system goes into standby or hibernation to prevent data loss if the system never resumes from standby or hibernation.

Preferences|Save Files now has separate options for closing files with unsaved changes and closing files that were never saved. This allows untitled files to be saved automatically without prompting. The choice for files with unsaved changes now affects files that were made empty.

When editing files via FTP, you can now tell EditPad Pro to use a local folder to save copies of the files you open. These local copies can be used to quickly reopen the same file later. They also enable local backup copies and local working copies according to your preferences for those. Local backups can be accessed via the History panel. In addition, you can configure each FTP connection to keep a single remote backup copy of each file that you save via FTP.

Line Break Styles

Previous versions of EditPad already recognized all Unicode line breaks. But the default line break style could only be set to CRLF pairs, LF-only, or CR-only. Now you can set any line break style as the default in the file type configuration. Previously, Ctrl+Enter always inserted a form feed character, which EditPad interprets as a page break. This is still the default. But in the file type configuration you can now select any line break style for Ctrl+Enter.

Previously, the Convert|Windows/UNIX/Mac menu items allowed you to convert between CRLF, LF-only, and CR-only line breaks. These commands left all other line breaks untouched. They have been replaced with a new Convert|Line Break Style menu item. When you select it you get a popup dialog that tells you how many line breaks of each style, including all the Unicode styles, your file contains. You can tick the line break styles you want to convert, and untick those you want to leave alone. You can select any line break style that you want to convert the selected styles to. This allows you to easily deal with errant line break styles in your file. You can still do the old Windows/UNIX/Mac conversion by selecting only CRLF, LF, and CR line breaks to be converted and selecting CRLF, LF, or CR as the new line break style.

The Convert|Line Break Style also allows you to select which line breaks are inserted by the Enter and Ctrl+Enter keys. You can select any line break style for these, regardless of which line breaks your file already contains. For the Enter key you can also choose “automatic” which is the old behavior of using the file’s dominant line break style. Line break style detection is now done whenever you insert or delete lines, possibly changing the status bar indicator and the line break style used by the Enter key if you choose the “automatic” option.

Straight Quotes, Smart Quotes, and Primes

EditPad Pro can now convert between straight quotes, smart quotes, and primes. Straight quotes are the ASCII single and double quotes, and optionally the ASCII backtick and less-than and greater-than signs. Smart quotes are the “typographical quotes” as well as «guillemets», 《angle brackets》, and 「corner brackets」. Primes are the proper symbols for inches, feet, minutes, seconds, etc. 5′8″ is five feet eight inches.

EditPad Pro can convert straight to smart quotes, smart to straight quotes, any quotes to primes, primes to straight quotes, and any set of smart quotes to any other set of smart quotes. You can independently configure the opening and closing quotes. Predefined styles include “outward commas”, „inward commas“, ”high commas”, „low and high commas”, «outward guillemets», »inward guillemets«, 《angle brackets》, 「corner brackets」, and 『white corner brackets』. EditPad also knows the difference between a single quote and an apostrophe, even at the start of a word. 2019 with the century omitted is correctly written as ’19 with an apostrophe. Most word processors get this wrong. EditPad Pro gets this right.

If your syntax coloring scheme supports it, EditPad Pro can also convert between straight and smart quotes according to its rules. The provided HTML schemes, for example, convert straight quotes to smart quotes only outside HTML tags. EditPad Pro can do this conversion as you type or on demand on the selected text.

Other Improvements

Files with paths longer than 260 characters are now opened and saved correctly. Previously EditPad acted as if such files did not exist.

Go|Go to Position replaces Go|Go to Line. In addition to moving the cursor to a specific line, you can now also move it to a specific column or move it to a specific byte offset. There are also options for selecting the text between the old and new cursor positions or expanding the existing selection to the new cursor position.

Extra|Sort Alphanumerically replaces Extra|Sort Alphabetically. Text that contains numbers now sorts the numbers as a whole, instead of sorting each digit separately. “A4” now comes before “A10” because 4 is less than 10.

Go|Back/Forward in Editing Position renamed from Previous/Next Editing Position to make it more obvious that these commands use chronological order like the Back/Forward in Edited Files commands and unlike the other Next/Previous commands.

Edit|Copy as Rich Text is now a separate menu item instead of a global preference in the Editor Preferences. Edit|Copy As HTML is a new command that complements it. You can use these commands to copy text with EditPad’s syntax coloring to paste into applications that support the RTF or HTML clipboard formats. File|Export to HTML or RTF and Block|Export to HTML or RTF allow you to save an HTML or RTF file that shows your text with EditPad’s syntax coloring.

Regular Expressions

EditPad’s regular expression syntax has been extended to support the newest features from other regex flavors. EditPad 8 uses exactly the same regex flavor as PowerGREP 5.

The Search toolbar now has a button labeled “Free” that enables free-spacing regular expressions.

EditPad now supports balancing groups like the .NET regex flavor and branch reset groups like Perl and PCRE. Also new is character class intersection using the [class&&[intersect]] syntax like Java and Ruby. The nested pair of square brackets is required. EditPad does not support the [class&&intersect] syntax as this could lead people to write [class&&intersect&&again] which behaves unpredictably in Java and Ruby.

In Perl and PCRE you can use \K to keep text out of the match to work around their restrictions on lookbehind. While \K is not really needed in EditPad with its unrestricted lookbehind, you can now use \K in EditPad like you would in Perl or PCRE if you are used to writing your regexes that way.

Perl, PCRE, and Ruby all support regular expression recursion and subroutines. These three have largely copied each others syntax, resulting in multiple ways to write recursion and subroutines. But these three have not copied each others matching behavior, resulting in clear behavioral differences despite the similar syntax. EditPad provides three sets of syntax for recursion and subroutine calls. Each set of syntax follows the matching behavior of one of these three flavors. Like in PCRE, (?P>name) does not capture, reverts capturing groups, and is atomic. You can remember this syntax by its similarity to that of atomic groups. Unlike PCRE, EditPad also supports (?P>1) and (?P>0) so you can specify this behavior for a numbered call and for recursion. Like in Perl, (?R), (?1), and (?&name) do not capture, revert capturing groups, and allow backtracking. You can remember this syntax by the ampersand that is used in &subroutine(); calls in Perl code. Finally, like in Ruby, \g<0>, \g<>, and \g<name> capture the match of the subroutine call, do not revert capturing groups, and allow backtracking. You can remember this syntax by the fact that Ruby’s regex flavor does not support any other syntax for recursion and subroutine calls.

\h is a new shorthand character class for horizontal whitespace. It includes spaces, tabs, and all Unicode whitespace except line and paragraph breaks. \v used to be an escape that matches the vertical tab. Now \v is a shorthand for vertical whitespace. This includes the vertical tab, line breaks, page breaks, and paragraph breaks. \v matches CR and LF separately. \H and \V are the negated versions of these two new shorthands.

\R is a new special escape that matches any line break, including Unicode line breaks. What makes it special is that it treats CRLF pairs as indivisible. It matches CR and LF on their own when they occur in the subject string on their own. But when the subject string contains CRLF as a sequence, \R matches the entire CRLF pair.

\l and \u are now shorthands for \p{Ll} and \p{Lu}. These match any Unicode lowercase or uppercase character. These tokens are always case sensitive.

POSIX classes using the notation [[:alpha:]] now match only ASCII characters. The \p{Alpha} notation still matches Unicode characters. [[:d:]], [[:s:]], [[:w:]], [[:l:]], and [[:u:]] are now shorthands for [[:digit:]], [[:space:]], [[:word:]], [[:lower:]], and [[:upper:]]. You can treat them as ASCII-only versions of \d, \s, \w, \l, and \u.

\i and \c are now XML shorthand character classes. \cA through \cZ are no longer supported as control character escapes.

Octal escapes must now be written as \o{377}. The octal number can range from \o{0} to \o{177777}. The old \0377 syntax is now an error. EditPad has never supported \377 as that is too confusing with the syntax for backreferences. \0 too is now an error, instead of matching a literal zero. Use \x00 to match NULL bytes.

Replacement Strings

EditPad’s replacement string syntax has been extended with replacement string conditionals to make this possible. (?1matched:unmatched) and ${1:+matched:unmatched} insert matched if the first capturing group participated in the match or unmatched if it did not. Just like conditionals in the regular expression, a capturing group that finds a zero-length match is considered to have participated. The first syntax is borrowed from Boost. The second from PCRE2. When using named capturing groups, you can use (?{name}matched:unmatched) and ${name:+matched:unmatched} to reference them in replacement string conditionals. You can use the full replacement string syntax inside a conditional, including nested conditionals. Conditionals that reference non-existing groups are an error. If you want to insert the text captured by the group when it participated and something else when it did not, you can use ${group:-unmatched}.

As a consequence of adding this syntax, EditPad 8 treats \?, \:, \(, \), \{, and \} as escaped characters that insert one of these six punctuation characters literally. EditPad 7 and prior treated these as literal backslashes, inserting both the backslash and the following punctuation character literally into the replacement.

EditPad Pro 8 Syntax Coloring Schemes

EditPad Pro 8 uses a new version of the syntax coloring scheme system. It brings some significant new enhancements. Schemes created for older versions of EditPad will work correctly with EditPad Pro 8. But they do not automatically gain any new abilities.

The scheme editor’s user interface has been redesigned to how subschemes and scheme elements in a tree at the left hand side. The right hand side shows the details of the selected subscheme or scheme element. This is similar to the user interface that was already used by the file navigation scheme editor. The redesign was necessary to allow the greatly expanded number of options for subschemes and scheme elements to fit. The Up and Down buttons now allow subschemes to be rearranged.

Previously, a scheme element could either use a detail subscheme or toggle to a toggle subscheme. Now, every scheme element can now both apply a detail subscheme to its match and toggle to a toggle subscheme after its match. There is a new built-in detail subscheme called “RGB Preview“. This subscheme can be used to highlight RGB color numbers and CSS color names as their actual colors. If a scheme uses this subscheme then the user can enable or disable RGB preview in Options|Configure File Types|Colors and Syntax.

There are new types of subschemes. “Toggle within detail” is a subscheme that can be toggled to by elements that are inside a “detail” subscheme. This allows “detail” subschemes to correctly use the “toggle back” mechanism. “Toggle until end of line“ is a subscheme that toggles back to the main part of the scheme at the end of the line. Such subschemes can be used by “fast” syntax coloring schemes that only process the visible part of the file. The scheme editor has a Fast? button that can tell you whether a scheme is “fast” or why it is not. “Include“ subschemes allow their elements to be used by other subschemes, so shared elements need to be created only once. Each subscheme now has a “developer notes” section that you can use to add technical notes that are useful to people editing your scheme but don’t need to be seen by people who merely use your scheme.

Two layers of brackets are now possible. An element that now define brackets and at the same time apply a detail subscheme that defines its own brackets. The provided HTML and XML schemes use this to pair entire markup tags as well as pairing up angle brackets and quotes inside tags. Matching brackets can now be inserted automatically. For this to work the “Auto” checkbox under “Generate bracket” needs to be ticked in the scheme editor. In EditPad Pro, Edit|Auto Match Brackets needs to be turned on.

There are several new named colors: “underline”, “redacted”, “label”, “caption”, “markup tag delimiter”, “markup entity”, “type name”, and “constant value”. Scheme elements and subschemes can now specify whether the color should be applied to (visualized) spaces and/or line breaks. All the new color palettes and EditPad’s new dark theme are also available in the scheme editor.

EditPad Pro 8 can automatically convert case and convert quotes based on the syntax coloring scheme. This can be enabled via Convert|Case|Auto Adjust Case and Convert|Quotes|Auto Adjust Quotes. Conversion is performed when the cursor is moved away from the text that was edited. For automatic case conversion to be available, the scheme needs to have at least one subscheme or one element that specifies a case conversion. Automatic quote conversion is always available. The subscheme can specify which characters can be affected by the conversion and whether quotes should be smartened or straightened. If a scheme specifies nothing, then all quotes are smartened. These commands have toolbar buttons by default so the user can quickly toggle them as needed.

EditPad Pro 8 can automatically increase or decrease indentation of new lines. This can be enabled via Options|Auto Indent if the syntax coloring scheme has any “break and indent” rules. The old Auto Indent item that preserves the level of indentation has been renamed to Keep Indent. This feature only determines how much indentation the new line should get. It does not automatically change the indentation of existing lines.

EditPad Pro 8 can automatically insert line breaks while you type things like braces and markup tags. This can be enabled via Options|Auto Break if the syntax coloring scheme has any “break and indent” rules. Automatic indent is always applied to automatic line breaks. Rules for breaking and indenting braces and markup tags can be customized on the new Braces page in EditPad’s file type configuration.

EditPad Pro 8 can automatically add line breaks to files that don’t have any when you open them. Computer-generated XML and JSON files are a common example. A syntax coloring scheme can be selected for this purpose on the Colors & Syntax page in EditPad’s file type configuration. The Breaking? button in the scheme editor tells you whether your syntax coloring scheme meets the needs of this feature.

Selecting EditPad Pro 8 under the Save As button in the scheme editor and saving your scheme now automatically triggers any running copies of EditPad Pro 8 to reload their syntax coloring schemes.

EditPad Pro 8 File Navigation Schemes

EditPad Pro 8 uses a new version of the file navigation scheme system. It brings a few minor improvements. Schemes created for older versions of EditPad will work correctly with EditPad Pro 8.

Layouts can now include the elements of other layouts. So shared elements need to be added only once to the scheme.

Previously, nodes could specify whether they should be sorted alphabetically or not. The new options are “file order” (not sorted), “sort alphanumerically”, and “user choice”. The latter option allows the user to select file order or alphanumeric order on the Navigation page in EditPad’s file type configuration. The Sorted button in the scheme editor allows this option to be tested.

Previously, nodes that had child nodes were added to the tree in a collapsed state. Now you can specify for each node whether it should be collapsed or expanded. There is also a “user choice” option allows the user to choose whether these nodes should be collapsed or expanded on the Navigation page in EditPad’s file type configuration. The Expanded button in the scheme editor allows this option to be tested. If your scheme produces a file navigation tree that has a few top-level nodes, then it may be convenient to set those to be initially expanded.

Selecting EditPad Pro 8 under the Save As button in the scheme editor and saving your scheme now automatically triggers any running copies of EditPad Pro 8 to reload their syntax coloring schemes.

At the end of the beta test, we asked our beta testers what they liked about EditPad Pro 8.

Rich Messeder

I can see that we will have differing “likes” here because some of the new features are beyond my grasp, because I don’t do regex well, for example.

  • Much improved UI, specifically due to the light and dark themes and the much enhanced color palettes.
  • Alt-double-click in the margin to copy without EOL. I use this often, and wished for it for years.
  • New block operations, specifically deriving from zero-column selections and obviating the use of Block Prefix and Suffix.
  • Indented comments, removing at last all the hoops I used to jump through to keep my comments indents with code so that I didn’t interrupt folding.
  • Indenting indication, replacing my clunky “faded vertical guides” that passed through every space, whether white or not.
  • S&R fonts now not locked to some small font, and follow editor.

Matthew Monroe

The new features that I find useful are:

  • The ability to highlight a rectangular block of text across multiple lines (including a zero width block), then as you type (or delete) characters, they appear on all of selected lines in the block.
  • The alignment of text by columns when you open a file with extension .tsv (or change the file type to “Tab-separated values”.
  • Instant highlight, to quickly highlight all of the words that match the word the cursor is on.
  • Instant replace, to quickly highlight matching words, then edit all of them as you type.
  • Indicating changed lines via a colored left margin when editing an existing file.

David Bartlett

Here is my glowing report for you, mostly influenced by my use case which is programming C, HTML, PHP, JavaScript, MySQL, and poking around in windows opening files that I’m probably not supposed to.

I have used this editor for nearly 10 years now. It is robust and intelligent. It does everything I could ever want to do with text files and even binary files. The interface is clear and consistent, The help is excellent and there is also a forum where there are always plenty of friendly, clever people willing to provide answers.

  • Everything is configurable - you really can set it up in any way that suits you.
  • The search / replace functionality is second to none. It is all arranged in a way that makes sense and is simple to use.
  • Bracket/tags matching/syntax coloring - makes it easy to navigate code and to see if you have any formatting errors.
  • Works well with external tools eg: HTML Tidy, ESLint.
  • Plenty of project options to organize everything.
  • A really neat File Navigator panel to find your way around.
  • Open a new instance of the editor side by side at the click of a button.
  • Clickable links inside the editor to open your browser of choice.
  • Hexadecimal view is great for binary files.

New in EditPad Pro 8:

  • Column alignment, very good for CSV files, this makes them much easier to edit.
  • Direct column editing - highly useful to nicely layout / edit large columns of data.
  • Tailing files is going to be useful.

The regex engine is of course top notch, but my RE knowledge is not, so I also use RegexBuddy to help me out.

Tom Corcoran

I love EditPad’s seamless way it works with files, for example if you are working with files on a website, you can have an EditPad FTP Panel open, edit your files, use Clip Collections to quickly build custom HTML code from raw text, and upload seamlessly without breaking your flow. In addition, Managed Projects make working with groups of files even smoother, e.g. being able to search within a project even with the project being across multiple locations. Plus, you can turn on backups and have flawless version control in the background allowing you to access old versions of your files if you need to, with the file comparison tool being very impressive.

EditPad makes using Regular Expressions very powerful, and a must to learn how to use - the companion tool RegexBuddy helps greatly with that. EditPad allows search and replaces to be saved so they can be continually accessed and further automation steps can be added in EditPad by creating Macros or linking/piping to other software via the Tools interface.

After using EditPad since the beginning, the addition of a dark theme in EditPad 8 has been a beautiful discovery and ignited my love of this indispensable tool all over again. If you have ever wished you could do something when working with text then it’s very likely EditPad has a solution to help. E.g. After discovering Markdown in the last year I found EditPad’s intuitive design allowed it to be integrated so naturally. Support for Markdown has been enhanced in EditPad 8 also.

Clay Cundick

This is going to sound very simple, but I like that I’ve been able to get an awful lot of work done using an EditPad 7 color scheme that I haven’t updated yet, in a new, very attractive, extremely readable environment without being distracted by the upgrade (and not too often by it being in beta). I get a lot done here, and I enjoy doing it. Also, just about every time I’ve thought “I wish” - it turns out I can, in fact, do what I was thinking if I dived into the excellent help again and got out my current rut.

In short, the things I like best are the things I’ve always liked best:

The ability to organize and manipulate my work in projects is invaluable: organization, saving, searching, bookmarks, etc.

The search (and replace) ability is second to none, especially as it’s so easily done over various document combinations.

I like having three (custom Tool) buttons available whenever I edit appropriate code: Run Saved, Run Current, Run Block. (There are other uses I’m looking forward to doing with this system as well. Being able to run something using a command line along with a temporary file created, for example, from selected text is extremely powerful.)

I also like that it’s seamlessly integrated into your other excellent programs. I first started out with RegexBuddy. Learning regular expressions well with your tutorials and products has been the best thing I’ve learned in computing in the past several years. Being able to make full use of the best regular expression engine available within my text editor is like whipped cream on my cake. I can take a one-off, oddly formatted file and manipulate it very elegantly, doing things that would normally take scripting, save it, then use it.

I look forward to updating my color scheme, adding a navigation scheme, and learning all the new features available (both new and unused). But without even bothering to do much more than skim the new documentation, I've got an environment that's exceedingly efficient and pleasant in which to actually get work done.