Como você converte todo o texto no Vim para minúsculo? Isso é possível?
Como você converte todo o texto no Vim para minúsculo? Isso é possível?
Respostas:
Se você realmente quer dizer letras maiúsculas , então não, isso não é possível - assim como não é possível converter texto em negrito ou itálico em qualquer editor de texto (em oposição ao processador de texto ). Se você deseja converter texto em minúsculas, crie um bloco visual e pressione u(ou Upara converter em maiúsculas). Tilde ( ~) no modo de comando inverte as maiúsculas e minúsculas do caractere sob o cursor.
Se você quiser ver todo o texto no Vim em letras maiúsculas, consulte a guifontopção ou digite :set guifont=*se o seu sabor do Vim suporta o seletor de fontes da GUI.
guuminúscula uma linha e gu[motion]minúscula o valor desse movimento. Da mesma forma, gUUe gU[motion]funciona da mesma maneira, apenas para maiúsculas.
Suponho que você queira o texto em minúsculas. A solução é bem simples:
ggVGu
Explicação:
Ude maiúsculas (por exemplo ggVGU)
Semelhante à solução de mangledorf, mas mais curta e fácil para leigos
:%s/.*/\L&/g
:%s/.*/\L&seria suficiente (não precisa da gbandeira, pois .*seleciona a linha inteira)
:%s/./\L&/g, uma vez que / g / denota uma operação que é global para a linha. O que me deixa, no entanto, é o &. Por que isso é necessário?
&significa aqui what was matched by the pattern, para que possa ser entendido da seguinte forma: substituir .*por \Lowercase(what was matched by the pattern). Note-se que combinando em .nível mundial é mais lenta do que a correspondência.*
Muitas maneiras de esfolar um gato ... aqui está o que eu acabei de postar sobre:
:%s/[A-Z]/\L&/g
Da mesma forma para maiúsculas:
:%s/[a-z]/\U&/g
Eu prefiro assim porque estou usando esse construct ( :%s/[pattern]/replace/g) o tempo todo, então é mais natural.
:%s/./\U&/gtambém funciona. Acontece que ele ignora números e caracteres que não são do alfabeto. O que me pega é o &. Por que \ U (ou \ L) por si só não é suficiente? Podemos obter uma explicação para isso?
&é um substituto para a sequência correspondente. Coloca em \U&maiúscula a sequência correspondente para que possa ser usada para a substituição.
Para exemplos e mais informações, leia isto: http://vim.wikia.com/wiki/Switching_case_of_characters
&. \ L e \ U fazem todo o sentido, mas por que é &necessário?
usar ggguG
gg: vai para a primeira linha. gu: mude para minúsculas. G: vai para a última linha.
Normalmente Vu(ou VUem maiúsculas) é suficiente para transformar a linha inteira em minúscula, pois Vjá seleciona a linha inteira para aplicar a ação.
Tilda ( ~) altera o caso da letra individual , resultando em caso de camelo ou similar.
É realmente ótimo como o Vim tem muitos modos diferentes para lidar com várias ocasiões e como esses modos são organizados de maneira organizada.
Por exemplo, v- o modo visual verdadeiro e os modos de Vlinha visual relacionada e Ctrl+ Q- bloco visual (o que permite selecionar blocos, um ótimo recurso que alguns outros editores avançados também oferecem geralmente, mantendo pressionada a Alttecla e selecionando o texto).
Se você estiver rodando sob o sabor do Unix
:0,$!tr "[A-Z]" "[a-z]"
:%!tr A-Z a-z
!indica um comando de shell externo, então $ man tr(ao contrário de :help tr) revela que tré para translate.
:%0,$!tr [:upper:] [:lower:]