首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在emacs中找到丢失或不匹配的大括号/ parens?

在Emacs中找到丢失或不匹配的大括号/括号,可以使用以下方法:

  1. 使用Emacs内置的括号匹配功能:Emacs提供了括号匹配的功能,可以通过将光标放在一个括号上,按下"Ctrl + )"来跳转到匹配的括号处。如果括号匹配,则光标会跳转到匹配的括号处;如果括号不匹配,则会提示错误信息。
  2. 使用插件:Emacs有一些插件可以帮助找到丢失或不匹配的括号。其中一个常用的插件是"paredit",它提供了一套强大的括号编辑功能,可以自动调整括号的位置和匹配。你可以通过在Emacs配置文件中添加以下代码来启用"paredit"插件:
代码语言:elisp
复制

(require 'paredit)

(add-hook 'emacs-lisp-mode-hook 'paredit-mode)

代码语言:txt
复制

使用"paredit"插件后,你可以使用一些快捷键来操作括号,例如"Ctrl + )"跳转到匹配的括号,"Ctrl + Shift + )"选中括号内的内容等。

  1. 使用正则表达式搜索:如果你知道括号的类型(如大括号、小括号等),你可以使用Emacs的正则表达式搜索功能来查找丢失或不匹配的括号。你可以使用"Ctrl + s"打开搜索功能,然后输入以下正则表达式进行搜索:
  • 查找丢失的左括号:\((?!\))
  • 查找丢失的右括号:\)(?!\()

这些正则表达式将匹配不在括号对中的括号,从而帮助你找到丢失或不匹配的括号。

总结起来,在Emacs中找到丢失或不匹配的大括号/括号可以通过Emacs内置的括号匹配功能、使用插件如"paredit"来自动调整括号位置和匹配,或者使用正则表达式搜索来查找丢失或不匹配的括号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一文读懂 ESLint配置

如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴 (^ ~ ^) 想看更多 那就点个关注吧 我会尽力带来有趣内容 代码都在githubgitee上,可以去上面自行下载 如果你遇到了问题...** **/docs/** **/node_modules/** **/.versionrc/** **/types/**/* 具体配置规则 配置规则 说明 示例 每行一个模式 每行指定一个路径模式,匹配文件目录将被忽略...文件所在位置 logs/ 通配符 * * 匹配零个多个字符 *.js(匹配所有 .js 文件) 双星号 ** ** 匹配任意数量子目录 src/**(匹配 src 目录下所有文件和子目录) 否定模式....test.js 文件 **/*.test.js # 否定模式:忽略 src/index.js 文件 !...style/brace-style: 关闭大括号风格规则。 style/arrow-parens: 关闭箭头函数参数括号规则。

23910

eslint 效验规则

对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."no-lone-blocks": 2,//禁止不必要嵌套块 "no-lonely-if": 2,//禁止else语句内只有if语句 "no-loop-func": 1,//禁止在循环中使用函数(如果没有引用外部变量形成闭包就可以..."no-nested-ternary": 0,//禁止使用嵌套三目运算 "no-new": 1,//禁止在使用new构造一个实例后赋值 "no-new-func": 1,//禁止使用new Function..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

2.5K40
  • 各种关闭eslint方法总结

    对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."no-lone-blocks": 2,//禁止不必要嵌套块 "no-lonely-if": 2,//禁止else语句内只有if语句 "no-loop-func": 1,//禁止在循环中使用函数(如果没有引用外部变量形成闭包就可以..."no-nested-ternary": 0,//禁止使用嵌套三目运算 "no-new": 1,//禁止在使用new构造一个实例后赋值 "no-new-func": 1,//禁止使用new Function..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

    15.8K21

    你应该学习正则表达式

    这允许我们在文本块(而不是代码行)中匹配年份,这对于搜索段落文本非常有用。 \b ——字边界 (19|20) ——使用(|)操作数匹配’19′’20′。...2 – 匹配时间 现在我们要定义一个正则表达式来匹配24小时格式(MM:HH,16:59)任何时间。 ? \b——字边界 [01]——01 ?——表示上述模式是可选。...替换模式(\3\2\1\2\4)简单地交换了表达式中月份和日期内容。 以下是我们如何在Javascript中进行这种转换: ?...我真的建议在你应用程序中使用上述表达式;最好是使用一个有信誉电子邮件验证库继续探索更完整电子邮件验证Regex。...+——匹配任何字符(字母,数字,符号),除了\n(换行)之外,1+次数。 \.——匹配 ‘.’字符。 (?i)——表示下一个序列区分大小写。

    5.3K20

    ESLint配置信息完整版

    对象 “no-extra-bind”: 2,//禁止不必要函数绑定 “no-extra-boolean-cast”: 2,//禁止不必要bool转换 “no-extra-parens”: 2,//禁止非必要括号...“no-lone-blocks”: 2,//禁止不必要嵌套块 “no-lonely-if”: 2,//禁止else语句内只有if语句 “no-loop-func”: 1,//禁止在循环中使用函数(如果没有引用外部变量形成闭包就可以...“no-nested-ternary”: 0,//禁止使用嵌套三目运算 “no-new”: 1,//禁止在使用new构造一个实例后赋值 “no-new-func”: 1,//禁止使用new Function...“block-scoped-var”: 0,//块语句中使用var “brace-style”: [1, “1tbs”],//大括号风格 “callback-return”: 1,//避免多次调用回调什么...”: 2,//new时必须加小括号 “newline-after-var”: 2,//变量声明后是否需要空一行 “object-curly-spacing”: [0, “never”],//大括号内是否允许不必要空格

    2.3K10

    手把手教你在vue-cli3中配置eslint

    对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."no-lone-blocks": 2,//禁止不必要嵌套块 "no-lonely-if": 2,//禁止else语句内只有if语句 "no-loop-func": 1,//禁止在循环中使用函数(如果没有引用外部变量形成闭包就可以..."no-nested-ternary": 0,//禁止使用嵌套三目运算 "no-new": 1,//禁止在使用new构造一个实例后赋值 "no-new-func": 1,//禁止使用new Function..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

    4.6K42

    关于eslint使用规则,和各种报错对应规则

    NCZ 初衷不是重复造一个轮子,而是在实际需求得不到 JSHint 团队响应 情况下做出选择:以可扩展、每条规则独立、内置编码风格为理念编写一个 lint 工具。...false 使用保留字做属性名时, 只能使用[]方式取属性 e.g [2, {"allowKeywords": false}] // allowPattern: 当属性名匹配提供正则表达式时...对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

    3.8K50

    10个正则表达式技巧

    1.匹配模式 正则表达式查找与模式匹配字符串部分 在JavaScript中,它们是在正斜杠之间//使用new RegExp() 然后用于match , testreplace 您可以预先定义正则表达式...2.匹配多个 一次匹配单个字符, 将多个字符放在方括号[]中以捕获任何匹配字符 使用连字号捕获一系列字符- ? 3.可选标志 在正则表达式末尾添加可选标志,以修改匹配工作方式。...在JavaScript中,这些标志是: i =区分大小写 m =多行匹配 g =全局匹配(查找全部,而不是查找一个) ?...6.特定数量 仅将特定数量匹配字符组与量词匹配 =零更多 =还有一个?= 01 {3} =正好3倍{2,4} =两倍,三倍四倍{2,} =两倍更多倍 ?...7.小括号匹配组 使用parens()捕获组 match会返回完整匹配加上组,除非您使用g标志 使用管道运算符| 在parens()内部以指定该组匹配内容 | = ?

    1.1K20

    MongoDB 命令记录

    如果括号、大括号等没有关闭,你会看到一个新行开始……字符。输入表达式其余部分。按Ctrl-C中止数据输入,如果您被卡住了。...update : update对象和一些更新操作符($,$inc…)等,也可以理解为sql update查询内set后面的 upsert : 可选,这个参数意思是,如果不存在update记录,...,最多更新与指定过滤器匹配单个文档。...updateMany() 更新所有与指定过滤器匹配文档。 replaceOne() 即使多个文档可能与指定过滤器匹配,也最多替换一个与指定过滤器匹配文档。...justOne : (可选)如果设为 true 1,则只删除一个文档,如果设置该参数,使用默认值 false,则删除所有匹配条件文档。 writeConcern :(可选)抛出异常级别。

    34700

    关于eslint使用规则,和各种报错对应规则。

    NCZ 初衷不是重复造一个轮子,而是在实际需求得不到 JSHint 团队响应 情况下做出选择:以可扩展、每条规则独立、内置编码风格为理念编写一个 lint 工具。...false 使用保留字做属性名时, 只能使用[]方式取属性 e.g [2, {"allowKeywords": false}] // allowPattern: 当属性名匹配提供正则表达式时...对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

    8.7K70

    Emacs 28 新特性介绍

    对于 Emacs 拥趸来说,新功能要等上一两年才能使用是无法接受。...这篇文章就来介绍 Emacs 28 中,笔者个人觉得比较实用功能,完整列表可参考 NEWS[3] ( M-x view-emacs-news ),最后会介绍如何在 macOS 上编译。...与 flush-lines 命令类似,但是匹配行会作为整体加到 kill ring 中 • 新配置 kill-transform-function 字符在添加到 kill ring 中预处理函数 •...社区内相关讨论[14] 兼容变更 • Xref 实现机制从 EIEIO 迁移到 cl-defstruct, 不能再使用 oref 与 with-slots • 使用 define-minor-mode...中 positional 参数已经被淘汰 编译方式 看了上面那么多新功能,读者可能已经按捺不住内心喜悦,这里就来介绍如何在 macOS 中编译 28 版本,其他操作系统方式类似。

    96830

    编辑器?对不起给我来打IDE

    大括号摆放位置 其他几个咱先不提,今天咱聊聊编辑器一哥之争:Vim 和 Emacs 谁是最好编辑器。...(Vim粉讽刺Emacs组合快捷键太多) vim 对于内核开发人员,需要在服务器上编程的人员来说,在很多时候可能是唯一选择,而且他编辑模式,文本操作设计理念确实是很厉害(虽然我不用,但也否认他优秀...(Vim编辑器直接打开,会显示帮助“乌干达可怜儿童”,Emacs粉讽刺Vim功能不如Emacs多,Vim能干他都能干) EMACS 对于lisp程序员来说又或者许多喜欢折腾新编程语言的人来说确实是神器...因为我不是vim资深用户也不是emacs资深用户,但现在想去使用一份结合二者所长东西,结果可想而知。 工具陷阱 软件工业界不断开发出新编程工具目的是什么?...或许将来有一天终将会拾起Vim/Emacs,但那是未来事,但现在还是就让我用IDE来赚取那些邪恶金钱吧。 最后,如果你有在用这三中编辑器中其中一种几种,欢迎点评!

    1.9K10

    Babel是如何读懂JS代码

    Babel工作三个阶段 首先要说明是,现在前端流行用WebPack其他同类工程化工具会将源文件组合起来,这部分并不是Babel完成,是这些打包工具自己实现,Babel功能非常纯粹,以字符串形式将源代码传给它...注释:行注释块注释,虽然对于人类来说有意义,但是对于计算机来说知道这是个“注释”就行了,并不关心内容,所以直接作为一个不可再拆语法单元 字符串:对于机器而言,字符串内容只是会参与计算展示,里面再细分内容也是没必要分析...运算符:+、-、*、/、>、<等等 括号:(...)可能表示运算优先级、也可能表示函数调用,分词阶段并不关注是哪种语义,只把“(”“)”当做一种基本语法单元 还有其他:中括号、大括号、分号、冒号、点等等不再一一列举...(0到9小数点) // 这里暂不考虑会出现多个小数点以及其他进制情况 token.value += currentChar; } else {...:读取下一个语法单元(称符号),赋值给curToken stash:暂存当前读取符号位置,方便在需要时候返回 rewind:返回到上一个暂存点 commit:上一个暂存点不再被需要,将其销毁 这里

    1.8K30

    Python内置数据结构之字符串

    ,当我们需要忽略大小写时候,通常统一转化为全部大写全部小写再做比较。...In[10]: '%a' % '大川淘气' Out[10]: "'\\u5927\\u5ddd\\u6dd8\\u6c14'" 当类型匹配时,会抛出TypeError。...format风格字符串格式化 format语法,使用大括号作为占位符。当调用format方法时,format传入参数会替换大括号。format方法参数个数是可变。...; 字符串可以进行索引、切片、迭代等操作; 字符串内置了很多方法供我们使用; Python3中字符默认是Unicode格式; 格式化总结 占位符与参数匹配,会抛出异常 {} 按照顺序,使用位置参数...当k不是kwargskey时,会抛出KeyError 如果要单纯打印大括号,可以使用{{}};如果要打印形如{18}形式,可以使用{{{}}}

    1.5K80

    SHELL(bash)脚本编程六:执行流程

    bash使用GNU Readline库处理用户命令输入,Readline提供类似于viemacs行编辑功能(Ctrl+a、Ctrl+e等等)。...大括号扩展 首先进行大括号扩展,此扩展会导致单词数量变化。...和[,如果包含这些字符,此单词就作为一个模式对文件名进行通配符匹配匹配所有结果将成为命令新单词。...4、内核判断该文件是否是操作系统能够处理可执行格式(ELF格式可执行二进制文件开头顶格写#!...可执行文本文件) 5、如果操作系统能够处理该文件,则调用相应函数(二进制文件)解释器(脚本文件)进行执行。 6、如果文件不具备操作系统可执行格式(文本文件但没有顶格写#!)

    1.7K40

    [eslint配置和rule规则解释

    对象 "no-extra-bind": 2,//禁止不必要函数绑定 "no-extra-boolean-cast": 2,//禁止不必要bool转换 "no-extra-parens": 2,//禁止非必要括号..."no-lone-blocks": 2,//禁止不必要嵌套块 "no-lonely-if": 2,//禁止else语句内只有if语句 "no-loop-func": 1,//禁止在循环中使用函数(如果没有引用外部变量形成闭包就可以..."no-nested-ternary": 0,//禁止使用嵌套三目运算 "no-new": 1,//禁止在使用new构造一个实例后赋值 "no-new-func": 1,//禁止使用new Function..."block-scoped-var": 0,//块语句中使用var "brace-style": [1, "1tbs"],//大括号风格 "callback-return": 1,//避免多次调用回调什么...": 2,//new时必须加小括号 "newline-after-var": 2,//变量声明后是否需要空一行 "object-curly-spacing": [0, "never"],//大括号内是否允许不必要空格

    3K40
    领券