Vim 如何完成不区分大小写的缓冲区搜索和区分大小写的完成?
我喜欢使用严格模式。当我键入小写变量(例如“path”)并按Vim 如何完成不区分大小写的缓冲区搜索和区分大小写的完成?,vim,Vim,我喜欢使用严格模式。当我键入小写变量(例如“path”)并按时,我不希望看到带有此前缀的常量或类名(例如“path\u to\u ROOT”或“PathGenerator”)。此外,常量通常位于完成的顶部,我必须按额外的键。这就是为什么我禁用了ignorecase选项。另一方面,在搜索缓冲区时,我会注意大小写。据我所知,没有专门的搜索或插入完成选项。我可以在模式中放置\c,但每次都需要额外的击键。好的,我们可以使用映射: cnoremap <expr><CR> getcm
时,我不希望看到带有此前缀的常量或类名(例如“path\u to\u ROOT”或“PathGenerator”)。此外,常量通常位于完成的顶部,我必须按额外的键。这就是为什么我禁用了ignorecase
选项。另一方面,在搜索缓冲区时,我会注意大小写。据我所知,没有专门的搜索或插入完成选项。我可以在模式中放置\c
,但每次都需要额外的击键。好的,我们可以使用映射:
cnoremap <expr><CR> getcmdtype() =~ "[/?]" && getcmdline() !~ '\\c$' ? "\<End>\\c\<CR>" : "\<CR>"
ignorecase
set完成区分大小写的插入(cmd行),或者如何在未设置ignorecase
时执行不区分大小写的搜索
要求
noremap / /\c
noremap ? ?\c
是的,它只保存了两次击键。对于视觉模式,您应该至少再添加两行。还有可能有其他方式进入搜索模式。主要原因是它降低了可读性。将
\c
放在搜索模式的末尾更好,但并不理想。@Evgeniynoremap
适用于正常、可视和操作员挂起模式。因此,即使是d/pattern
也可以毫无问题地工作。把\c
放在哪里是口味的问题。就我个人而言,我一开始就喜欢。对不起,你说得对。我总是使用nnoremap,所以我甚至没有注意到您省略了“n”。
noremap / /\c
noremap ? ?\c