另一个想法:
您的要求非常类似于subword-mode
为 camelCase 提供的要求。
您无法自定义 subword-mode 的行为——正则表达式是硬编码的——但您当然可以复制该库并根据您的目的对其进行修改。
M-x find-library
RET subword
RET
这可能是一个非常强大的解决方案。
编辑:根据建议更新评论:
作为记录,在函数和subword.el 中更改[[:upper:]]
to的每个实例都很好 =) (只要将“\”定义为“w”语法)。[\\\\[:upper:]]
subword-forward-internal
subword-backward-internal
就个人而言,我更倾向于制作库的副本而不是直接编辑它,除非为了使现有库更通用一点,为此最简单的解决方案似乎是将这些正则表达式移动到变量中 - - 之后,为了这种目的而拥有缓冲区本地修改版本将是微不足道的。
编辑 2:从 Emacs 24.3(目前是一个候选版本)开始,subword-mode 使用新的subword-forward-regexp
和subword-backward-regexp
变量(用于简单修改)和subword-forward-function
和subword-backward-function
变量(用于更复杂的修改)促进了这一点。
通过使这些正则表达式变量在 Latex 模式下具有所需值的局部缓冲区,您可以直接使用 subword-mode。