是否有一个vim插件,脚本或功能,允许扩展vim搜索,以便在我连续输入大写字母时匹配骆驼字的单词?
这是一个澄清的例子:
让我们说我在寻找WordInQuestion
.
我希望能够只是键入/wiq
才能找到它.
作为一个额外的奖励,如果我能通过getWordInQuestion
键入找到/gwiq
这意味着我要找的单词的第一个字母可能是小写,那将是很好的.
ib.*_*ib. 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
423 次 |
最近记录: |