Notepad++怎么设置括号自动配对规则_Notepad++如何自定义括号匹配规则【技巧】

胖涛小哥_9920

胖涛小哥_9920

2026-04-06

558人浏览

原创

notepad++括号自动配对由内置lexer硬编码决定,无法通过设置修改;仅部分语言模式支持()[]{}自动补全,自定义括号需改源码或换编辑器。

notepad++怎么设置括号自动配对规则_notepad++如何自定义括号匹配规则【技巧】

括号自动配对是硬编码进 Notepad++ 的,不能通过设置界面修改规则

Notepad++ 的括号匹配(即输入 ( 自动补 ))由内部 lexer 控制,并非像 VS Code 那样靠 JSON 规则配置。你找不到「括号配对设置」入口,不是漏找了,是压根不存在。

实际生效的是:当前文件的 Language 模式(如 Python、C++、HTML)所绑定的 lexer,决定了哪些字符被识别为成对括号。比如 HTML 模式下 和 <code>> 会配对,但 Python 模式下不会。

  • 菜单栏 Settings → Preferences → Auto-completion 里只有「Enable auto-completion on each input」和「Function completion」两个开关,不控制括号
  • Settings → Style Configurator 只改颜色,不影响匹配逻辑
  • 插件(如 Python Script)也无法覆盖底层 lexer 的括号定义

想让某语言支持新括号对?只能改源码或换 lexer

例如你想在 Markdown 文件中输入 {{ 时自动补 }},默认不行——因为 Notepad++ 的 Markdown lexer 没定义这对符号为括号。

可行路径只有两条:

  • 编译修改 Notepad++ 源码:定位到对应 lexer 的 getWordList 或 braceMatch 相关实现(如 LexMarkdown.cxx),加括号对,再重新编译
  • 换用支持自定义括号的编辑器:VS Code 的 editor.autoClosingBrackets + language-configuration.json 可直接配;Sublime Text 用 bracket_pairs 设置

第三方 lexer(如通过 Scintilla 插件加载的)若暴露了括号注册接口,才可能动态添加,但 Notepad++ 官方不提供这类扩展点。

常见错觉:以为「自动完成」和「括号配对」是一回事

很多人打开 Settings → Preferences → Auto-completion,勾上所有选项,发现 [ 还是不补 ],就怀疑设置没生效。其实这是两套机制:

  • Auto-insert closing brace(自动插入闭合括号):仅对 ()、[]、{} 生效,且只在部分语言模式下启用(如 C++、Java),Text 或 Normal text 模式下完全不触发
  • Auto-completion 下的「Function or word completion」是补函数名或变量名,和括号无关
  • 错误现象:Python 文件里输 if True: 回车后自动缩进,但这和括号配对毫无关系

临时绕过限制的小技巧:用宏 + 快捷键模拟

虽然不能改括号逻辑,但可以录一个宏来「假装」配对。比如让 Ctrl+Shift+9 输入 (|) 并把光标停在中间(| 是光标位):

Step 1: 按下 (  
Step 2: 按下 )  
Step 3: 按下 ←

保存为宏后绑定快捷键,就能快速输入带空格的括号对。但注意:

  • 不感知上下文:不管你在字符串里还是注释里,都会执行
  • 不处理嵌套:不会像真配对那样跳转到匹配括号位置
  • 不能替代 Ctrl+Shift+P(跳转到匹配括号)功能

真正依赖括号导航的场景(比如读大段 JSON 或正则),这个技巧意义不大——它只解决「输入」,不解决「识别」和「跳转」。

Lexer 级别的括号定义,是 Notepad++ 架构决定的硬边界。想灵活控制,就得接受它是个轻量级文本编辑器,不是可编程 IDE。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2095

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3162

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1076

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3599

7

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1698

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2604

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

6024

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

5529

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

7214

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习