是否有vim插件,脚本或功能允许扩展vim搜索以便在我连续输入大写字母时匹配骆驼字样?
这是一个澄清的例子:
让我们说我正在寻找WordInQuestion
。
我希望能够输入/wiq
才能找到它。
作为一个额外的奖励,如果我能通过输入getWordInQuestion
找到/gwiq
,这将是很好的,这意味着我要找的单词的第一个字母可能是小写。
答案 0 :(得分:13)
所描述的功能可以通过Vim脚本轻松实现。 让我们考虑以下自定义映射。
nnoremap <expr> <leader>/ SearchCamelCase('/')
nnoremap <expr> <leader>? SearchCamelCase('?')
function! SearchCamelCase(dir)
call inputsave()
let ab = input(a:dir)
call inputrestore()
let l = filter(split(toupper(ab), '\zs'), 'v:val =~ "\\w"')
if len(l) > 0
let l[0] = '[' . l[0] . tolower(l[0]) . ']'
end
let @/ = '\C\<' . join(map(l, 'v:val . "[0-9a-z_]*"'), '') . '\>'
return a:dir . "\r"
endfunction
答案 1 :(得分:0)
有一个很好的插件叫做模糊查找器,可能很有用。
http://www.vim.org/scripts/script.php?script_id=1984
FuzzyFinder提供快速到达的便捷方式 你想要的缓冲区/文件/命令/书签/标签。 FuzzyFinder用a搜索 模糊/部分模式,如驼峰案例。