在pangu-spacing package增加半角字符

pangu-spacing package中默认的半角字符只有英文字母和数字,我想增加一些其他的半角字符进去,比如$和\之类,查了查了似乎需要修改pangu-spacing-chinese-before-english-regexp和pangu-spacing-chinese-after-english-regexp这两个变量,我简单在.emacs中添加了以下配置,然后发现所有英文字母字母中间都添加了空白。。。。

 (setq pangu-spacing-chinese-before-english-regexp
      (rx (group-n 1 (category chinse-two-byte))
          (group-n 2 (in "a-zA-Z0-9\$\\"))))
 (setq pangu-spacing-chinese-after-english-regexp
      (rx (group-n 1 (in "a-zA-Z0-9\$\\"))
          (group-n 2 (category chinse-two-byte))))

是正则表达式写错了吗?

不懂,会不会是第二个 rx 闭括号层次不对?按理说应该会报错。

如二楼所说,你的代码括号没有对齐,而且你的缩进有误导效果。

在 Emacs 里编辑 Sexp 不应该手动去缩进,假如缩进出了问题,用 C-M-q (indent-pp-sexp) 等自动调整。

另外,$ 是个本身是个普通字符,所以 "\$"$ 是一个意思

(string= "$" "\$")
;; => t

rx 中正则表达式的特殊字符一般无需 Escape,直接写就行。

果然是括号的问题:sweat_smile:,谢谢楼上二位!