Mover para a próxima letra maiúscula

3

Existe uma maneira fácil de passar para a próxima letra maiúscula com o vim? Eu costumo trabalhar com variáveis de casco de camelo e isso pode ser útil.

    
por greg0ire 05.10.2011 / 23:31

2 respostas

8

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>
    
por 06.10.2011 / 01:30
5

O seguinte comando Vim mapeia a combinação de teclas Control-t (use qualquer conveniente que você deseje) para o comando /[A-Z] (seguido por return), que irá procurar pela próxima letra maiúscula no "modo normal" (modo de comando). ). Você pode colocar isso no seu arquivo .vimrc se desejar (menos o : ). O <c-t> e <return> é digitado como eu os escrevi aqui, e o Vim entenderá.

:nmap <c-t> /[A-Z]<return>
    
por 05.10.2011 / 23:40

Tags