rizonesoft / Notepad3

Notepad like text editor based on the Scintilla source code. Notepad3 based on code from Notepad2 and MiniPath on code from metapath. Download Notepad3:
https://www.rizonesoft.com/downloads/notepad3/
Other
4.79k stars 323 forks source link
syntax-highlighting

Notepad3

Build status License

Notepad3 is a fast and light-weight Scintilla-based text editor with syntax highlighting. It has a small memory footprint, but is powerful enough to handle most programming jobs. Download Notepad3 here.

Notepad3 is based on code from Florian Balmer's Notepad2 and XhmikosR's Notepad2-mod. MiniPath is based on code from Florian Balmer's metapath.

Important links!

Rizonesoft Support

Changes compared to Flo's official Notepad2 (made in Notepad2-mod):

Changes compared to the Notepad2-mod fork:

Supported Operating Systems:


References

Seen on Nsane Forums: Notepad3 is an advanced text editor..., a review of Notepad3 posted by the moderator Karston at nsane.forums.

Notepad3's review: Notepad3 is an advanced text editor that supports many programming languages.


Notepad3 Settings (Notepad3.ini)

[Notepad3]

This section can be used to redirect to a settings file which will be used by Notepad3. If a non-elevated user is not allowed to write to the program directory of Notepad3.exe, the side-by-side Notepad3.ini can point to a place where the user is allowed to write their settings, for example:

Notepad3.ini=%APPDATA%\Rizonesoft\Notepad3\Notepad3.ini

or a to have user-specific settings:

Notepad3.ini=%WINDIR%\Notepad3-%USERNAME%.ini

[Settings]

These settings are read and written by Notepad3’s user interface. For example, all Menu ? Settings will go here.

SettingsVersion=5

Favorites=%APPDATA%\Rizonesoft\Notepad3\Favorites\

[Settings2]

This section offers some advanced Notepad3 program settings, and can only be edited manually. Press Ctrl+F7 to open the Notepad3 ini-file. Most changes only take effect upon restarting Notepad3.

PreferredLanguageLocaleName=en-US

The default value for the already supported languages is defined by the: “OS language setting”.

Available languages:
English/United States (en-US) (internal default)
Afrikaans/South Africa (af-ZA)
Belarusian/Belarus (be-BY)
German/Germany (de-DE)
Greek/Greece (el-GR)
English/United Kingdom (en-GB)
Spanish/Spain (es-ES)
French/France (fr-FR)
Hindi/India (hi-IN)
Hungarian/Hungary (hu-HU)
Indonesian/Indonesia (id-ID)
Italian/Italy (it-IT)
Japanese/Japan (ja-JP)
Korean/Korea (ko-KR)
Dutch/Netherlands (nl-NL)
Polish/Poland (pl-PL)
Portuguese/Brazil (pt-BR)
Portuguese/Portugal (pt-PT)
Russian/Russia (ru/RU)
Slovak/Slovakia (sk-SK)
Swedish/Sweden (sv-SE)
Turkish/Turkey (tr-TR)
Vietnamese/Vietnam (vi-VN)
Chinese Simplified/China (zh-CN)
Chinese Traditional/Taiwan (zh-TW)

IMEInteraction=0

DateTimeFormat=

DateTimeLongFormat=

Specify the short/long date and time formats. This is the format parameter passed to the strftime() function. Note that the locale will be set to English (because of the English Visual C++ Run-time Library used by Notepad3).

TimeStampRegEx=

TimeStampFormat=

This parameter is used as a regex pattern to match time-stamps which will be updated to current date-time by Shift+F5, e.g. $Date: 2018/04/26 00:52:39 $

DefaultDirectory=

Specify the default directory for the open and save dialogs, used if no file is opened.

DefaultExtension=txt

Specify the default extension for saved files (omit the leading dot, just like txt or html).

DenyVirtualSpaceAccess=0

filebrowser.exe=minipath.exe

Specify the path of an external program that is launched when pressing the Browse toolbar button. Defaults to minipath.exe, which is the file browser plugin.

You can specify additional command line switches, and the file currently opened in Notepad3 will be appended as the last command line parameter.

Note: Due to special treatment of quotes by the Win32 ini-file APIs, pathnames with spaces need to be quadruple-quoted (""path to/file.exe""), but only double-quoted if there's additional command line arguments ("path to/file.exe" /arg).

On the other hand, our preferred file browser is minipath.exe (Menu->File->Browse... Ctrl+M) + Toolbar-Button.

If you don't like it, you can configure e.g.

grepWin.exe=grepWinNP3.exe

We have integrated a powerful external tool called grepWinNP3. grepWinNP3 is a search and replace tool which can use regular expressions to perform its job. This allows you to perform much more powerful search and replace operations in files.

grepWinNP3 can be launched:

FileCheckInterval=2000

The interval (in milliseconds) to check for external modification of the currently opened file.

FileChangedIndicator=[@]

FileDeletedIndicator=[X]

FileDlgFilters=

Specify filters for the open and save dialogs

FileLoadWarningMB=4

The size limit, in megabytes, to display a warning message for large files.

MultiFileArg=0

Control if Notepad3 should allow multiple files on the command line (set to 1). The default behavior is to accept only a single file, without quoted spaces, like Windows Notepad (set to 0). The command line switches + and - can be used to override this setting on the fly, and the /z command-line switch has the same effect as the - switch.

NoCGIGuess=0

Set to 1 to disable simple language detection for cgi and fcgi files.

NoCopyLineOnEmptySelection=0

NoCopyLineOnEmptySelection=1 to avoid the copy line (Ctrl+C) on empty selection.

NoCutLineOnEmptySelection=0

NoCutLineOnEmptySelection=1 to avoid the cut line (Ctrl+X) on empty selection.

NoFadeHidden=0

Set to 1 to disable fading of hidden objects in file lists (such as Favorites, etc.).

NoFileVariables=0

Set to 1 to disable file variable parsing. Encoding tag parsing can be disabled in the Menu ? File ? Encoding ? Default dialog box.

Notepad3 can parse a few of the Emacs variables that can be used in source code files. The first 512 bytes of a file (and, if nothing is found, also the last 512 bytes) are checked for the following constructs (can be manually disabled in the ini-file, or the File, Encoding, Default dialog box, respectively):

coding: utf-8;
mode: python;
tab-width: 8;
c-basic-indent: 2;
indent-tabs-mode:  nil;
c-tab-always-indent: true;
fill-column: 64;
truncate-lines: false;
enable-local-variables: true;

coding: Serves as a file encoding tag. Details about using encoding tags are outlined in the Notepad2 Encoding Tutorial.
mode: Indicates the syntax scheme to be used, and is either the name of a scheme, or a file name extension. tab-width:
c-basic-indent: Denote tab and indentation settings.
indent-tabs-mode: Determines whether to insert tabs as spaces (nil, false or 0) or not (true or 1).
c-tab-always-indent: Configures whether the tab key re-formats indenting white-space (true or 1) or not (nil, false or 0).
fill-column: Sets the desired limit for long lines (but does not automatically display the visual marker).
truncate-lines: Controls word wrap (enable: nil, false or 0; disable: true or 1).
enable-local-variables: Disables file variable parsing (nil, false or 0), but keeps evaluating encoding tags.

To bypass both file variable and encoding tag parsing, reload the file with Alt+F8. Adapt the settings mentioned above to permanently turn off file variables and encoding tags.

NoHTMLGuess=0

Set to 1 to disable simple HTML/XML detection for files without extensions.

PortableMyDocs=1

If set to 1, recent files and other path settings referring to the My Documents directory tree are stored relative to My Documents. This enhances USB stick portability between different versions of Windows, which are using different locations for My Documents. This setting has no effect if Notepad3.exe itself is located inside My Documents (or a sub-directory thereof).

OpacityLevel=75

Opacity level (in %) of the Notepad3 window in transparent mode.

FindReplaceOpacityLevel=50

Opacity level (in %) of the Find/Replace window in transparent mode.

RelativeFileMRU=1

Set to 0 to disable recent files on the same drive or network share as Notepad3.exe being saved with relative path-names.

ReuseWindow=0

This items are managed by Notepad3. (Menu->Settings->Window->Reuse Window Ctrl+Shift+L)

SaveBlankNewFile=true

New file (not exists on file system ("Untitled")) asking('true')/not asking('false') for file save if document contains any whitespace (blank/space, tab, line-break) character.

SciFontQuality=3

SimpleIndentGuides=0

Set to 1 to prevent indentation guides from jumping across empty lines.

SingleFileInstance=1

This items are managed by Notepad3.

ShellAppUserModelID=Rizonesoft.Notepad3

ShellUseSystemMRU=1

Application User Model IDs (AppUserModelIDs) are used extensively by the taskbar in Windows 7 and later systems to associate processes, files, and windows with a particular application. In some cases, it is sufficient to rely on the internal AppUserModelID assigned to a process by the system. However, an application that owns multiple processes or an application that is running in a host process might need to explicitly identify itself so that it can group its otherwise disparate windows under a single taskbar button and control the contents of that application's Jump List.

Most recently used (MRU) source lists are resident on the user's computer and contain information about source paths used in previous installations. This information can be used when prompting the user for a source path. Control system MRU, task-bar and jump list behavior. See Replacing Windows Notepad for detailed explanations.

StickyWindowPosition=0

This items are managed by Notepad3.

SubWrappedLineSelectOnMarginClick=false

Set to true to revert to old selection behavior:

LaunchInstanceWndPosOffset=28

LaunchInstanceFullVisible=true

UseOldStyleBraceMatching=0

UseOldStyleBraceMatching=1 to switch back to (not recommended) old style behavior

WebTemplate1=https://google.com/search?q=%s

WebTmpl1MenuName=Open Web Action 1

WebTemplate2=https://en.wikipedia.org/w/index.php?search=%s

`WebTmpl2MenuName=Open Web Action 2

ExtendedWhiteSpaceChars=:

Put in here all ASCII chars which will be word delimiters for "Accelerated Word Navigation".

AutoCompleteWordCharSet=

Is set automatically for CJK input languages (GetACP()).

If you define your own character-set in AutoCompleteWordCharSet, Auto-Completion word list is limited to words composed of these chars only (case insensitive).)

AutoCompleteFillUpChars=

New configuration .ini-file: [Settings2] AutoCompleteFillUpChars= To get the "Enter" completion behavior back, define: [Settings2] AutoCompleteFillUpChars=\r\n I you like to allow more "fill-up" characters (accept completion item), just add them:

LineCommentPostfixStrg=

It will be appended/removed to the comment tag on line comment block toggle. If the string contains spaces, you have to double-quote it,

UpdateDelayMarkAllOccurrences=50

CurrentLineHorizontalSlop=40

CurrentLineVerticalSlop=5

UndoTransactionTimeout=0

UndoTransactionTimeout=1 (will be clamped to 10msec min.) will separate nearly every keystroke as single undo action. (UndoTransactionTimeout=0 will switch this timer OFF)

AdministrationTool.exe=

This parameter is not used at the moment.

DevDebugMode=0

Encoding Detector information in Titlebar. This parameter is used to "debug" UCHARDET.

AnalyzeReliableConfidenceLevel=90

Confidence/Reliability level for reliability switch in encoding dialog.

LocaleAnsiCodePageAnalysisBonus=33

Bias/Bonus on top of Confidence/Reliability if current system's ANSI Code-Page is file encoding analysis result. (This will push detection algorithm to like system's ANSI Code-Page more than other detection result)

LexerSQLNumberSignAsComment=1

The # (hash) is the start of a line comment in MySQL dialect. But if this is confusing, it can be switched off by providing an option to Scintilla's SQL-Lexer (set option: lexer.sql.numbersign.comment to 0 (zero)).

Unfortunately, in Notepad3, this can not be done by configuration, it can only be done hard coded.

ExitOnESCSkipLevel=2

The leveling of ESC behavior (msg-boxes -> selection -> exit) leads to following implementation:

New parameter "[Settings2] ExitOnESCSkipLevel = 2"

ZoomTooltipTimeout=3200

WrapAroundTooltipTimeout=2000

LargeIconScalePrecent=150

DarkModeBkgColor=0x1F1F1F

DarkModeBtnFaceColor=0x333333

DarkModeTxtColor=0xEFEFEF

HyperlinkShellExURLWithApp=""

HyperlinkShellExURLCmdLnArgs="${URL}"

HyperlinkFileProtocolVerb=""

CodeFontPrefPrioList="Cascadia Code,Cascadia Mono,Cousine,Fira Code,Source Code Pro,Roboto Mono,DejaVu Sans Mono,Inconsolata,Consolas,Lucida Console"

Configurable Fonts priority list for for "Common Base" Scheme.

TextFontPrefPrioList="Cascadia Mono,Cousine,Roboto Mono,DejaVu Sans Mono,Inconsolata,Consolas,Lucida Console"

Configurable Fonts priority list for "Text Files" Scheme.

[Statusbar Settings]

This section provides the ability to set the number, order and width of columns, and the prefix text of the status bar fields.

VisibleSections=0 1 15 14 2 4 5 6 7 8 9 10 11 (internal default)

This parameter is used to define, which fields of the Status Bar should be visible. If used, this setting also defines the field ordering.

SectionPrefixes=Ln ,Col ,Sel ,Sb ,SLn ,Occ ,,,,,,,Ch ,Repl ,Eval ,U+, (internal default)

This parameter is used to redefines the displayed Prefixes in the sections of the Status Bar

SectionPostfixes=,,,,,,,,,,,,,,,, (internal default)

This parameter is used to redefines the displayed Postfixes in the sections of the Status Bar

SectionWidthSpecs=30 20 20 20 20 20 20 0 0 0 0 0 0 0 20 24 (internal default)

This parameter is used to define the relative width of each field of the Status Bar

Fine tuning: increase, decrease or modify the value of numbers,

ZeroBasedColumnIndex=0

This parameter is used to define start counting of column (Col) at 0 or 1.

ZeroBasedCharacterCount=0

This parameter is used to define start counting of characters (of current line) (Ch) at 0 or 1.

[Toolbar Labels]

This section offers the possibility to display the name of the function to the right of its corresponding icon.

01=New
02=Open
03=Browse
04=Save
05=Undo
06=Redo
07=Cut
08=Copy
09=Paste
10=Find
11=Replace
12=Word Wrap
13=Zoom In
14=Zoom Out
15=Scheme
16=Customize Schemes
17=Exit
18=Save As
19=Save Copy
20=Delete
21=Print
22=Favorites
23=Add to Favorites
24=Toggle Folds
25=Execute Document
26=Focused View
27=Monitoring Log
28=History
29=Always On Top
30=Search in Files
31=Reset Zoom
32=New Empty Window

[Window]

<ResX>x<ResY> DefaultWindowPosition=

This items are managed by Notepad3. (Menu->View->Position->Save as Default Position) (Will set current window position as "Default Position" - can be recalled by Ctrl+Shift+P Hotkey)