dr *_*rry 3 regex emacs search
我想在一行的开头搜索 x 个空格,使用交互式常规搜索^SPC<选择所有以可变数量空格开头的行。根据emacs wiki
(setq search-whitespace-regexp " ")
Run Code Online (Sandbox Code Playgroud)
应该解决这个问题,但这会逆转行为:当我在搜索中输入多个空格时,它会选择一个空格。我不记得早期 emacs 的这种行为(现在使用 23.2)。有没有办法让交互式搜索在输入一个空格时选择一个空格,在输入 x 个空格时选择 x 个空格?
欢呼杰伦
我认为您观察到的行为是预期的行为。从文档search-whitespace-regexp:
如果非零,则正则表达式匹配空白字符序列。[...] 当您在增量正则表达式中放置一个或多个空格时,它代表此。
请注意第二句话 - 每当您在正则表达式中放置一个(或多个)空格字符时,就会被解释为好像您输入了search-whitespace-regexp. 由于您将该变量定义为单个空格字符,因此正则表达式中的一个或多个空格字符将仅匹配缓冲区中的单个空格字符。
可能实现您想要的最简单的方法是简单地将变量设置为nil,在这种情况下,在交互式正则表达式搜索中不再以特殊方式处理空格字符。正则表达式中的单个空格字符将仅匹配缓冲区中的单个空格字符。
(setq search-whitespace-regexp nil)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1574 次 |
| 最近记录: |