Я хотел бы иметь возможность перемещаться по предложению в Emacs (M-a, M-e). Здесь проблема: по умолчанию Emacs ожидает, что каждое предложение разделяется двумя пробелами, и я привык просто помещать одно пространство. Конечно, эту настройку можно отключить, чтобы допускать предложения, разделенные только одним пространством, например:
(setq sentence-end-double-space nil)
Но тогда Emacs думает, что предложение закончилось после сокращений с полной остановкой ( "." ), например. после чего-то вроде "... странной команды, например foo...".
Вместо того, чтобы использовать вышеприведенный код, существует ли способ определить переменную-конец предложения так, чтобы она считала [.!?] как обозначение конца предложения, если следующее следует за одним или несколькими пробелами, за которыми следует заглавная буква [AZ]?
И... также разрешить [.!?] отмечать конец предложения, если за ним следует ноль или больше пробелов, за которым следует "\"? [Причина этого последнего условия заключается в написании кода LaTeX: где за предложением следует команда LaTeX, например \footnote {}, например. "... и поэтому мы можем видеть, что точка доказана. \footnote {В некоторых альтернативных мира, по крайней мере.}" ]
Я попытался сыграть с определением конца предложения и придумал:
(setq sentence-end "[.!?][]'\")}]*\\(\\$\\|[ ]+[A-Z]\\|[ ]+[A-Z]\\| \\)[
;]*")
Но это, похоже, не работает вообще.
Любые предложения?