请教下emacs 断句的问题

The syntax |(光标) ‘(rose . violet . buttercup)’ is invalid because there is nothing that it could mean. If anything, it would say to put ‘buttercup’ in the CDR of a cons cell whose CDR is already used for ‘violet’.

上面有一段文本,光标在 The syntax 后面,我用(thing-at-point 'sentence t) 的到的内容是

The syntax '(rose .

我想要的内容是

The syntax ‘(rose . violet . buttercup)’ is invalid because there is nothing that it could mean.

你可以写个函数 判断一下括号是否匹配

应该 很难的

为什么我用thing-at-point得到的是整段句子?

如果是这种标准的英文句子,可以通过点号和每句话首字母大写来匹配。

我在裸 emacs 试了试,也是获地了整个句,后来跟了下源码,发现 thing-at-point 受下面几个变量的影响,似乎是 evil 更改了这个值

这时候如果想要获得上面的效果,需要修改上面的这些值, 我对比了裸 emacs,发现只有 sentence-end-without-space 被更改了 这时候要获得这些句子,可以这样

(let ((sentence-end-without-space t))
  (thing-at-point 'sentence t))
1 个赞