Vim/gVim - Alternância Intuitiva entre Maiúsculo e Minúsculo

Publicado por Perfil removido em 03/12/2019

[ Hits: 1.277 ]

 


Vim/gVim - Alternância Intuitiva entre Maiúsculo e Minúsculo



Com base nesta dica do Fábio, pesquisando, descobri uma forma de conversão para uppercase e lowercase de forma mais rápida, sem ter que colocar o Vim/gVim em modo visual, e ainda, SEM PRECISAR SELECIONAR. :)

Para mapear os comandos e deixá-los mais intuitivos, uso as combinações Ctrl+setas. E para aplicar o comando na linha toda, uso Alt+setas.

Coloque este arquivo em seu ".vimrc":

"PALAVRAS
"Torna palavra em maiúscula
nnoremap <C-Up> viwU

"Torna palavra em minúscula
nnoremap <C-Down> viwu

"LINHAS
"Torna toda linha em maiúscula (M = Alt)
nnoremap <M-Up> <Esc>0v$<esc>gUU

"Torna toda linha em minúscula
nnoremap <M-Down> <Esc>0v$<esc>guu

No modo normal, posicione o cursor em qualquer ponto da palavra, ou da frase, e aplique.

Bônus

Já a função abaixo, torna a palavra em maiúscula ou minúscula, apenas repetindo o acionamento do mapeamento Ctrl+Seta-direita.

"Selecionar palavra
function! TwiddleCase(str)
  if a:str ==# toupper(a:str)
    let result = tolower(a:str)
  elseif a:str ==# tolower(a:str)
    let result = substitute(a:str,'\(\<\w\+\>\)', '\u\1', 'g')
else
    let result = toupper(a:str)
  endif
return result
endfunction
vnoremap <C-right> y:call setreg('', TwiddleCase(@"), getregtype(''))<CR>gv""Pgv

Aplicação:
  • 1º acionamento: torna a 1ª letra da palavra em maiúscula;
  • 2º acionamento: torna toda a palavra em maiúscula;
  • 3º acionamento: torna toda a palavra em minúscula.

Bastante intuitivo também, mas para aplicar esse comando, precisa selecionar antes a palavra.

É isso! Espero que os mapeamentos acima tornem suas atividades no Vim/gVim úteis e produtivas.

E viva o Linux!

Referências


Outras dicas deste autor

Ubuntu-Tweak: Configurando seu Ubuntu 7.10

Backup no runlevel 0 (Slackware 11)

Seu GRUB está cheio de linhas?

Lista de argumentos (parâmetros) de comprimento variável em métodos no Java 5

Pacotes para Slackware

Leitura recomendada

Fontes grandes no Debian - XFree

Nvidia: Criando um xorg.conf mínimo e prático

Webcam no Sony Vaio FZ240Q usando Fedora 9

Atualização do sidux para kernel 2.6.31 com KDE 4.3.1

Alterando o fuso horário no Linux

  

Comentários
[1] Comentário enviado por fabio em 03/12/2019 - 03:23h

Interessante. Já estou usando aqui :)

[2] Comentário enviado por removido em 03/12/2019 - 09:09h


[1] Comentário enviado por fabio em 03/12/2019 - 03:23h

Interessante. Já estou usando aqui :)


:)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts