Existem alguns scripts para redefinir a palavra comandos de movimento ( b
, e
, w
) para parar em letras maiúsculas em palavras do CamelCase; camelcasemotion parece bem estabelecido (disclaimer: eu nunca usei isso). O Wiki do Vim tem alguns exemplos de scripts mais simples, se você preferir fazer isso sozinho. Aqui está uma maneira relativamente simples de remapear C-Left
e C-Right
para lidar com palavras maiúsculas e minúsculas.
nnoremap <silent><C-Left> :<C-u>call search('\<\<Bar>\U\@<=\u\<Bar>\u\ze\%(\U\&\>\@!\)\<Bar>\%^','bW')<CR>
nnoremap <silent><C-Right> :<C-u>call search('\<\<Bar>\U\@<=\u\<Bar>\u\ze\%(\U\&\>\@!\)\<Bar>\%$','W')<CR>
inoremap <silent><C-Left> <C-o>:call search('\<\<Bar>\U\@<=\u\<Bar>\u\ze\%(\U\&\>\@!\)\<Bar>\%^','bW')<CR>
inoremap <silent><C-Right> <C-o>:call search('\<\<Bar>\U\@<=\u\<Bar>\u\ze\%(\U\&\>\@!\)\<Bar>\%$','W')<CR>