You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Emacs识别括号/圆括号后的双空格分隔句子?

解决Emacs句子导航无法识别括号后双空格的问题

Emacs的句子导航功能依赖sentence-end变量定义的正则表达式识别句子边界,默认规则没有覆盖「句号+括号/方括号+双空格」的场景,导致你遇到的跳转异常。

你可以通过自定义sentence-end正则来解决这个问题,让Emacs识别括号/方括号后的双空格作为句子分隔:

(setq sentence-end
      "\\([。!?]\\|\\.[.[:lower:]]*\\|[!?]+\\)[\"')\\]]*[ \t\n]+")

这个正则的关键部分:

  • [\"')\\]]*:匹配句子结尾可能带有的引号、圆括号、方括号(支持多个连续符号)
  • [ \t\n]+:匹配符号后的空白(包括双空格、制表符、换行),如果需要严格限定双空格,可替换为 (两个空格)

配置完成后,重新打开文件或执行M-x eval-buffer生效,此时forward-sentence和backward-sentence就能正确识别你示例中[cite]后的双空格,将第四、第五句分开。

如果之前设置过sentence-end-without-period,无需取消,新的sentence-end规则会兼容该配置的场景。

内容的提问来源于stack exchange,提问作者matogoro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:30:57