Notepad3
Notepad3是一款快速轻量级的基于Scintilla的文本编辑器,具有语法高亮功能。它占用内存小,但功能强大,足以处理大多数编程任务。在此下载Notepad3。
Notepad3基于Florian Balmer的Notepad2和XhmikosR的Notepad2-mod的代码。MiniPath基于Florian Balmer的metapath代码。
重要链接!
- 下载页面 - https://www.rizonesoft.com/downloads/notepad3
- 最新更新日志(发布说明) - https://www.rizonesoft.com/downloads/notepad3/update
- 完整更新日志(所有版本/构建) - Notepad3 - 完整更新日志
- 文档 - https://www.rizonesoft.com/documents/notepad3
Rizonesoft 支持
- 联系我们
- 高级支持 - 在Rizonesoft,支持是免费的,我们会尽最大努力为您提供帮助。请在联系我们时保持耐心;主要是志愿者在从事Rizonesoft项目,时间是宝贵的资源。
与Flo官方Notepad2相比的变化(在Notepad2-mod中实现):
- 代码折叠
- 支持书签
- 标记所有单词出现的选项
- 更新的Scintilla组件
- 单词自动完成
- 支持AutoHotkey (AHK)、AutoIt3、AviSynth、Bash、CMake、CoffeeScript、 Inno Setup、LaTeX、Lua、Markdown、NSIS、Ruby、Tcl、YAML和VHDL脚本的语法高亮
- 改进对NFO ANSI艺术的支持
- 其他各种小变化和调整
与Notepad2-mod分支相比的变化:
- 增加对Awk、D、golang、MATLAB的语法高亮支持
- 正则表达式搜索引擎(Oniguruma)
- 基于Yusuke Kamiyaman的Fugue图标的新工具栏图标(由Rizonesoft购买)
- 超链接热点高亮(单击在浏览器中打开(Ctrl)/ 在编辑器中加载(Alt))
- 支持D源脚本、Go源脚本、JSON、Makefiles、MATLAB、Nim源代码、PowerShell脚本、资源脚本、Shell脚本的语法高亮
- 新的程序图标和其他小的外观变化
- 应用内支持AES-256 Rijndael文件加密/解密(包括用于批处理的外部命令行工具)
- 虚拟空间矩形选择框(按住Alt键)
- 高DPI感知,包括高清工具栏图标
- 撤销/重做保留选择
- 文件历史保留光标位置(可选)并记住文件编码
- 加速单词导航
- 保留文件历史中项目的光标位置
- 计算标记选择或单词的出现次数
- 计算并标记匹配搜索/查找表达式的出现次数
- Visual Studio风格复制/粘贴当前行(无选择)
- 插入GUID
- 不再支持Windows XP
- 其他各种小变化、调整和错误修复
支持的操作系统:
- Windows 7、8、8.1、10和11(32位和64位)
参考
在Nsane论坛上看到:Notepad3是一款高级文本编辑器...,这是版主Karston在nsane.forums上发布的Notepad3评论。
Notepad3的评论:Notepad3是一款支持多种编程语言的高级文本编辑器。
Notepad3设置(Notepad3.ini)
[Notepad3]
此部分可用于重定向到Notepad3将使用的设置文件。 如果非管理员用户不允许写入Notepad3.exe的程序目录, 可以在并列的Notepad3.ini中指向用户有写入权限的位置, 例如:
Notepad3.ini=%APPDATA%\Rizonesoft\Notepad3\Notepad3.ini
或者使用用户特定的设置:
Notepad3.ini=%WINDIR%\Notepad3-%USERNAME%.ini
[Settings]
这些设置由Notepad3的用户界面读取和写入。 例如,所有菜单 ? 设置都会保存在这里。
SettingsVersion=5
Favorites=%APPDATA%\Rizonesoft\Notepad3\Favorites\
[Settings2]
此部分提供一些高级Notepad3程序设置,只能手动编辑。 按Ctrl+F7打开Notepad3 ini文件。大多数更改只有在重启Notepad3后才会生效。
PreferredLanguageLocaleName=en-US
已支持语言的默认值由"操作系统语言设置"定义。
- 回退值为:"en-US"。
可用语言:
英语/美国 (en-US)(内部默认)
南非荷兰语/南非 (af-ZA)
白俄罗斯语/白俄罗斯 (be-BY)
德语/德国 (de-DE)
希腊语/希腊 (el-GR)
英语/英国 (en-GB)
西班牙语/西班牙 (es-ES)
法语/法国 (fr-FR)
印地语/印度 (hi-IN)
匈牙利语/匈牙利 (hu-HU)
印度尼西亚语/印度尼西亚 (id-ID)
意大利语/意大利 (it-IT)
日语/日本 (ja-JP)
韩语/韩国 (ko-KR)
荷兰语/荷兰 (nl-NL)
波兰语/波兰 (pl-PL)
葡萄牙语/巴西 (pt-BR)
葡萄牙语/葡萄牙 (pt-PT)
俄语/俄罗斯 (ru/RU)
斯洛伐克语/斯洛伐克 (sk-SK)
瑞典语/瑞典 (sv-SE)
土耳其语/土耳其 (tr-TR)
越南语/越南 (vi-VN)
简体中文/中国 (zh-CN)
繁体中文/台湾 (zh-TW)
IMEInteraction=0
DateTimeFormat=
- (-> (取决于区域设置的短格式)
DateTimeLongFormat=
- (-> (取决于区域设置的长格式)
指定短/长日期和时间格式。这是传递给
strftime()
函数的格式参数。 请注意,区域设置将设为英语(因为Notepad3使用的是英语Visual C++运行时库)。
TimeStampRegEx=
- (-> $Date:[^$]+$)(查找模式以更新时间戳)
TimeStampFormat=
- (-> \$Date:[^\$]+\$ | $Date: %Y/%m/%d %H:%M:%S $
- (-> $Date: %s $)(打印格式应与TimeStampRegEx匹配)
此参数用作正则表达式模式,以匹配将通过Shift+F5
更新为当前日期时间的时间戳,例如$Date: 2018/04/26 00:52:39 $
- 默认的
DateTime
格式为:- 短格式:
[Settings2] DateTimeFormat=
(空)- 使用Notepad3语言区域的短'<时间> <日期>'格式 - 长格式:
[Settings2] DateTimeLongFormat=
(空)- 使用Notepad3语言区域的长'<时间> <日期>'格式 - 时间戳:
[Settings2] TimeStampFormat=
(空)- "$Date: %s $",其中'%s'被替换为DateTimeFormat
中的时间/日期。例如[Settings2] TimeStampFormat=#TimeStamp=2020-07-21 16:02:23 #
- 短格式:
- 所有
DateTime
格式都接受strftime()
格式字符串。 附加说明:TimeStampFormat
接受'%s'(这不是有效的strftime()
格式代码)- 作为DateTimeFormat
格式化的当前日期/时间字符串的占位符。(不允许混合使用strftime()
和'%s')。 - 如果您定义了自己的
TimeStampFormat
,应相应地定义对应的TimeStampRegEx
正则表达式模式(对于我们的示例:[Settings2] TimeStampRegEx="#TimeStamp=[^#]+#"
),以便更新时间戳
操作能正确找到并更新它们。 - 附加菜单项:插入当前时间戳。
DefaultDirectory=
指定打开和保存对话框的默认目录,在未打开文件时使用。
- 路径名可以相对于Notepad3程序目录。
DefaultExtension=txt
指定保存文件的默认扩展名(省略前导点,如txt或html)。
DenyVirtualSpaceAccess=0
filebrowser.exe=minipath.exe
指定按下浏览工具栏按钮时启动的外部程序路径。
默认为minipath.exe
,即文件浏览器插件。
您可以指定额外的命令行开关,当前在Notepad3中打开的文件将作为最后一个命令行参数附加。
注意:由于Win32 ini文件API对引号的特殊处理,包含空格的路径名需要四重引号(""path to/file.exe""),但如果有额外的命令行参数则只需双重引号("path to/file.exe" /arg)。
另一方面,我们首选的文件浏览器是minipath.exe
(菜单->文件->浏览... Ctrl+M)+ 工具栏按钮。
如果您不喜欢它,可以配置例如:
- [Settings2] filebrowser.exe=explorer.exe(系统文件资源管理器),或
- [Settings2] filebrowser.exe=Explorer++.exe(https://explorerplusplus.com/)(与Notepad3并排),或
- [Settings2] filebrowser.exe=Q-Dir_x64+.exe(https://www.softwareok.de/?seite=Freeware/Q-Dir/)(与Notepad3并排)
grepWin.exe=grepWinNP3.exe
我们集成了一个强大的外部工具叫做grepWinNP3。 grepWinNP3是一个可以使用正则表达式执行任务的搜索和替换工具。 这允许您在文件中执行更强大的搜索和替换操作。
grepWinNP3可以通过以下方式启动:
- 从"文件 --> 启动 --> 在文件中搜索"
- 或从"编辑 --> 搜索 --> 在文件中搜索"
- 或者简单地使用"
Ctrl+Shift+F
"
FileCheckInterval=2000
检查当前打开文件是否被外部修改的间隔(以毫秒为单位)。
- 默认为2000毫秒。
- 最小值:200[毫秒] - 如果等于或小于此值,立即通知。
FileChangedIndicator=[@]
FileDeletedIndicator=[X]
FileDlgFilters=
指定打开和保存对话框的过滤器
-(示例:文本文件|*.txt;*.wtx;*.log;*.asc;*.doc;*.diz;*.nfo|所有文件|*.*
)。
FileLoadWarningMB=4
显示大文件警告消息的大小限制,以兆字节为单位。
- 值为0时禁用警告。
MultiFileArg=0
控制Notepad3是否应允许命令行中有多个文件(设置为1)。 默认行为是只接受一个没有带引号空格的文件,类似Windows记事本(设置为0)。 命令行开关+和-可以即时覆盖此设置,/z命令行开关的效果与-开关相同。
NoCGIGuess=0
设置为1以禁用对cgi和fcgi文件的简单语言检测。
NoCopyLineOnEmptySelection=0
NoCopyLineOnEmptySelection=1以避免在空选择时复制行(Ctrl+C
)。
NoCutLineOnEmptySelection=0
NoCutLineOnEmptySelection=1以避免在空选择时剪切行(Ctrl+X
)。
NoFadeHidden=0
设置为1以禁用文件列表中隐藏对象的淡出效果(如收藏夹等)。
NoFileVariables=0
设置为1以禁用文件变量解析。 编码标签解析可以在菜单 ? 文件 ? 编码 ? 默认对话框中禁用。 Notepad3 可以解析源代码文件中使用的一些 Emacs 变量。它会检查文件的前 512 字节(如果没有找到,也会检查最后 512 字节)是否包含以下结构(可以在 ini 文件或"文件、编码、默认"对话框中手动禁用):
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
:用作文件编码标记。使用编码标记的详细信息在 Notepad2 编码教程中有所概述。
mode
:指示要使用的语法方案,可以是方案名称或文件扩展名。
tab-width
:
c-basic-indent
:表示制表符和缩进设置。
indent-tabs-mode
:确定是否将制表符插入为空格(nil、false 或 0)或不插入(true 或 1)。
c-tab-always-indent
:配置 Tab 键是否重新格式化缩进空白(true 或 1)或不重新格式化(nil、false 或 0)。
fill-column
:设置长行的期望限制(但不会自动显示可视标记)。
truncate-lines
:控制自动换行(启用:nil、false 或 0;禁用:true 或 1)。
enable-local-variables
:禁用文件变量解析(nil、false 或 0),但继续评估编码标记。
要同时绕过文件变量和编码标记解析,请使用 Alt+F8 重新加载文件。调整上述设置以永久关闭文件变量和编码标记。
NoHTMLGuess=0
设置为 1 可禁用对无扩展名文件的简单 HTML/XML 检测。
PortableMyDocs=1
如果设置为 1,则引用"我的文档"目录树的最近文件和其他路径设置将相对于"我的文档"存储。这增强了在不同 Windows 版本之间使用不同"我的文档"位置的 USB 便携式设备的可移植性。如果 Notepad3.exe 本身位于"我的文档"(或其子目录)内,则此设置无效。
- 如果启用了
RelativeFileMRU
,则默认值为 1(启用),否则为 0(禁用)。
OpacityLevel=75
透明模式下 Notepad3 窗口的不透明度(以百分比表示)。
FindReplaceOpacityLevel=50
透明模式下查找/替换窗口的不透明度(以百分比表示)。
RelativeFileMRU=1
设置为 0 可禁用将与 Notepad3.exe 位于同一驱动器或网络共享上的最近文件保存为相对路径名。
- 默认值为 1(启用)。
ReuseWindow=0
这些项目由 Notepad3 管理。(菜单->设置->窗口->重用窗口 Ctrl+Shift+L
)
- 如果设置,另一个启动的 Notepad3 实例将尝试将控制权交给当前打开的窗口并退出。
SaveBlankNewFile=true
新文件(不存在于文件系统中的"无标题")在包含任何空白字符(空格、制表符、换行符)时是否询问('true')/不询问('false')保存文件。
SciFontQuality=3
SimpleIndentGuides=0
设置为 1 可防止缩进指南跨越空行。
SingleFileInstance=1
这些项目由 Notepad3 管理。
ShellAppUserModelID=Rizonesoft.Notepad3
ShellUseSystemMRU=1
应用程序用户模型 ID(AppUserModelID)在 Windows 7 及更高版本的系统中广泛用于将进程、文件和窗口与特定应用程序关联。在某些情况下,依赖系统分配给进程的内部 AppUserModelID 就足够了。然而,拥有多个进程的应用程序或在主机进程中运行的应用程序可能需要明确标识自己,以便将其原本分散的窗口分组到单个任务栏按钮下,并控制该应用程序的跳转列表内容。
最近使用(MRU)源列表驻留在用户的计算机上,包含有关先前安装中使用的源路径的信息。在提示用户输入源路径时可以使用此信息。控制系统 MRU、任务栏和跳转列表行为。详细说明请参阅替换 Windows 记事本。
StickyWindowPosition=0
这些项目由 Notepad3 管理。
菜单->视图->位置->固定窗口位置
(重启时将记住当前窗口位置,而不是最后关闭的位置(退出时保存))
SubWrappedLineSelectOnMarginClick=false
设置为 true
以恢复旧的选择行为:
- 单击行号边距选择整个对应行
- 双击行号边距选择整行及所有子行。
LaunchInstanceWndPosOffset=28
LaunchInstanceFullVisible=true
UseOldStyleBraceMatching=0
UseOldStyleBraceMatching=1 切换回(不推荐)旧样式行为
WebTemplate1=https://google.com/search?q=%s
WebTmpl1MenuName=打开网络操作 1
WebTemplate2=https://en.wikipedia.org/w/index.php?search=%s
WebTmpl2MenuName=打开网络操作 2
ExtendedWhiteSpaceChars=:
在此处输入所有作为"加速词导航"的单词分隔符的 ASCII 字符。
AutoCompleteWordCharSet=
自动为 CJK 输入语言设置(GetACP())。
如果在 AutoCompleteWordCharSet 中定义自己的字符集,自动完成单词列表将仅限于由这些字符组成的单词(不区分大小写)。
AutoCompleteFillUpChars=
新配置 .ini 文件:[Settings2] AutoCompleteFillUpChars= 要恢复"回车"完成行为,请定义:[Settings2] AutoCompleteFillUpChars=\r\n 如果您想允许更多"填充"字符(接受完成项),只需添加它们:
- 例如 [Settings2] AutoCompleteFillUpChars=\r\n[(. (将接受完成项并添加字符)。
LineCommentPostfixStrg=
在切换行注释块时,它将附加/移除到注释标记。如果字符串包含空格,必须用双引号括起来,
- 例如 [Settings2] LineCommentPostfixStrg=" " 在注释标记后添加一个空格(此功能请求的来源和标题)。
UpdateDelayMarkAllOccurrences=50
CurrentLineHorizontalSlop=40
CurrentLineVerticalSlop=5
UndoTransactionTimeout=0
- 单位为 [毫秒]
UndoTransactionTimeout=1(将被限制为最小 10 毫秒)会将几乎每次按键分离为单独的撤销操作。 (UndoTransactionTimeout=0 将关闭此计时器)
AdministrationTool.exe=
此参数目前未使用。
DevDebugMode=0
标题栏中的编码检测器信息。此参数用于"调试"UCHARDET。
AnalyzeReliableConfidenceLevel=90
编码对话框中可靠性开关的置信度/可靠性级别。
LocaleAnsiCodePageAnalysisBonus=33
如果当前系统的 ANSI 代码页是文件编码分析结果,则在置信度/可靠性之上添加偏差/奖励。 (这将推动检测算法更倾向于系统的 ANSI 代码页,而不是其他检测结果)
LexerSQLNumberSignAsComment=1
(井号)是MySQL方言中行注释的开始。
但如果这会造成混淆,可以通过向Scintilla的SQL词法分析器提供选项来关闭它 (设置选项:lexer.sql.numbersign.comment为0(零))。
不幸的是,在Notepad3中,这不能通过配置来完成,只能硬编码实现。
- 编者注:默认是"关闭",在Notepad3中明确设置为"开启"(硬编码)以保留旧行为,
ExitOnESCSkipLevel=2
ESC行为的分级(消息框 -> 选择 -> 退出)导致以下实现:
新参数"[Settings2] ExitOnESCSkipLevel = 2"
- 级别2:ESC单独取消每个状态(默认)。
- 级别1:ESC取消消息框并忽略选择。
- 级别0:ESC取消所有状态并继续退出(如果已配置)。
ZoomTooltipTimeout=3200
- 以[毫秒]为单位
- 值为零(0)(或小于100毫秒)将禁用工具提示显示。
WrapAroundTooltipTimeout=2000
- 以[毫秒]为单位
- 值为零(0)(或小于100毫秒)将禁用工具提示显示。
LargeIconScalePrecent=150
屏幕/显示比例百分比
阈值,用于切换到更大的文件类型图标(词法分析器样式选择)
DarkModeBkgColor=0x1F1F1F
DarkModeBtnFaceColor=0x333333
DarkModeTxtColor=0xEFEFEF
HyperlinkShellExURLWithApp=""
- 如果未定义或为空,则在
Ctrl+点击
URL时执行默认行为: - URL字符串通过ShellExecute()发送到操作系统,操作系统将尝试使用已注册的协议(如http://或file://)打开URL - 在大多数情况下是默认浏览器或文件(如果扩展名已知)。
- 如果已定义,例如"
D:\PortableApps\GoogleChromePortable\GoogleChromePortable.exe
",则在Ctrl+点击
时将启动此应用程序。
HyperlinkShellExURLCmdLnArgs="${URL}"
- (使用${URL}作为被点击的超链接URL字符串的占位符)
- 为上述应用程序定义参数/参数字符串(仅在定义了
HyperlinkShellExURLWithApp
时考虑)。 - 如果未定义、为空或设置为"${URL}",则应用程序的参数将是被点击的URL字符串。
您可以在此处为应用程序指定更多命令行参数。字符串中的令牌
${URL}
将被替换为被点击的URL字符串。例如,HyperlinkShellExURLCmdLnArgs="--incognito "${URL}""
将以"隐身模式"启动Chrome浏览器(参见HyperlinkShellExURLWithApp
),尝试打开被点击的URL。
HyperlinkFileProtocolVerb=""
ShellExecuteEx()::lpVerb (""=默认, "edit", "explore", "find", "open", "print", "properties", "runas")
CodeFontPrefPrioList="Cascadia Code,Cascadia Mono,Cousine,Fira Code,Source Code Pro,Roboto Mono,DejaVu Sans Mono,Inconsolata,Consolas,Lucida Console"
"通用基础"方案的可配置字体优先级列表。
TextFontPrefPrioList="Cascadia Mono,Cousine,Roboto Mono,DejaVu Sans Mono,Inconsolata,Consolas,Lucida Console"
"文本文件"方案的可配置字体优先级列表。
[Statusbar Settings]
本节提供设置状态栏字段的数量、顺序和宽度以及前缀文本的功能。
VisibleSections=0 1 15 14 2 4 5 6 7 8 9 10 11
(内部默认值)
此参数用于定义状态栏中应该显示哪些字段。 如果使用,此设置还定义了字段排序。
- 第 0 节 = Ln : 光标位置的行号 / 文件中的总行数
- 第 1 节 = Col : 光标位置的列号 / 长行设置的限制
- 第 2 节 = Sel : 选择的字符数
- 第 3 节 = Sb : 选择的字节数([UTF-8]中的字节)
- 第 4 节 = SLn : 选择的行数
- 第 5 节 = Occ : 标记出现的次数
- 第 6 节 = [UTF-8]模式下文件的大小
- 第 7 节 = 编码模式 (双击打开
编码 F9
) - 第 8 节 = EOL模式 (切换CR+LF, LF, CR)
- 第 9 节 = 切换INS/OVR模式
- 第10节 = 切换STD/2ND文本模式(默认文本或第二默认文本)
- 第11节 = 当前方案 (双击打开
选择方案
) - 第12节 = 字符计数(每行从行首开始)
- 第13节 = 替换的出现次数
- 第14节 = TinyExpr求值
- 第15节 = 当前字符(光标位置)的Unicode点显示(UTF-16编码)。
SectionPrefixes=Ln ,Col ,Sel ,Sb ,SLn ,Occ ,,,,,,,Ch ,Repl ,Eval ,U+,
(内部默认值)
此参数用于重新定义状态栏各节中显示的前缀
- 使用","(逗号)作为分隔符。空格不会被忽略。
SectionPostfixes=,,,,,,,,,,,,,,,,
(内部默认值)
此参数用于重新定义状态栏各节中显示的后缀
- 使用","(逗号)作为分隔符。空格不会被忽略。
SectionWidthSpecs=30 20 20 20 20 20 20 0 0 0 0 0 0 0 20 24
(内部默认值)
此参数用于定义状态栏每个字段的相对宽度
- 0 = 空间优化适应文本(动态适应宽度变化)
- -n (负值) = 节的固定宽度[像素],较长文本会被截断
微调:增加、减少或修改数值,
- 例如:
;;;;;;;;;;;;;;;;; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SectionWidthSpecs=50 40 42 40 36 40 0 0 0 0 0 -10 40 40 -40 40
ZeroBasedColumnIndex=0
此参数用于定义列(Col
)的计数从0还是1开始。
ZeroBasedCharacterCount=0
此参数用于定义字符计数(当前行)(Ch
)从0还是1开始。
[Toolbar Labels]
本节提供了在相应图标右侧显示功能名称的可能性。
01=新建
02=打开
03=浏览
04=保存
05=撤销
06=重做
07=剪切
08=复制
09=粘贴
10=查找
11=替换
12=自动换行
13=放大
14=缩小
15=配色方案
16=自定义配色方案
17=退出
18=另存为
19=保存副本
20=删除
21=打印
22=收藏夹
23=添加到收藏夹
24=折叠/展开
25=执行文档
26=专注视图
27=监控日志
28=历史记录
29=总在最前
30=在文件中搜索
31=重置缩放
32=新建空白窗口
[窗口]
<分辨率X>x<分辨率Y> 默认窗口位置=
这些项目由Notepad3管理。(菜单->视图->位置->保存为默认位置
)
(将当前窗口位置设置为"默认位置" - 可以通过Ctrl+Shift+P
热键重新调用)