我喜欢使用严格模式。当我输入小写变量(例如“ path”)并按<C-N>
时,我不想看到带有此前缀的常量或类名(例如“ PATH_TO_ROOT”或“ PathGenerator”)。另外,常量通常位于完成的顶部,我必须按额外的键。这就是为什么我禁用了ignorecase
选项的原因。另一方面,当我搜索缓冲区时,我几乎是新手要注意大小写。据我所知,没有用于搜索或插入完成的专用选项。我可以在模式中放置\c
,但每次都需要额外的击键。好的,我们可以使用映射:
cnoremap <expr><CR> getcmdtype() =~ "[/?]" && getcmdline() !~ '\\c$' ? "\<End>\\c\<CR>" : "\<CR>"
但这会稍微降低可读性。我不知道有更好的解决方案吗?我不知道的专用选项?以下选项也被拒绝:
在进入命令行模式时设置选项,并在进入插入模式时禁用。如果先前搜索中有突出显示的匹配项,这将导致重新绘制屏幕。进入插入模式时突出显示的Foo
和FOO
将消失,进入命令行模式时将再次突出显示。
设置@/
寄存器。
cnoremap <expr><CR> getcmdtype() =~ "[/?]" ? "\<Esc>:set @/ = histget("search")" : "\<CR>"
问题
如何在设置ignorecase
的情况下完成区分大小写的插入(cmd行)操作,或者在未设置ignorecase
的情况下如何进行不区分大小写的搜索。
要求
请记住,解决方案必须简单。我宁愿一直进行区分大小写的搜索,而不是保留用于搜索的插件。
答案 0 :(得分:2)
为什么不只是亲吻它?
noremap / /\c
noremap ? ?\c
是的,它只保存了两次击键。