【发布时间】:2020-05-28 08:20:02
【问题描述】:
在Vim的下一次搜索中,我想忽略第一个字母的大小写:
/[tlcp]omo
我想知道如何仅对搜索模式的第一个字母忽略大小写。
Vim 有以下选项可以忽略搜索模式中的大小写:
:set ignore
:set smartcase [ignore case if no uppercase in search]
或在搜索模式中的任何位置使用\c:
/hello\c => [find hello and HELLO]
但所有这些选项都忽略了整个模式中的大小写,而不是部分。
在搜索模式中忽略单个字母大小写的一个选项是,使用正则表达式的[] 集合,专门将每个字母大写:
/[tTlLcCpP]omo
但是,有什么方法可以忽略部分搜索模式中的大小写,而不必使用正则表达式指定每个大小写字符?
【问题讨论】:
-
我想stackoverflow.com/q/2287440/2191572 有您正在寻找的答案,从我的快速概述来看,使用 Vim 似乎无法实现您的边缘案例请求。
-
我不熟悉
VIM,但是内联修饰符会按照this 工作吗? -
如果您使用
\c后跟\C每stackoverflow.com/a/2287449/2191572 会发生什么?它会像@JvdV 提到的内联修饰符那样起作用吗? -
@sergio OP 明确提到他们希望避免写出所有小写字符及其大写变体。
-
也许
VIM中有一种方法可以将第一个字符更改为Ucase或Lcase内联。将此反馈给您的RegEx?