Como você converte todo o texto no Vim para minúsculo? Isso é possível?
vim
text-processing
ksuralta
fonte
fonte
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
(ouU
para 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
guifont
opção ou digite:set guifont=*
se o seu sabor do Vim suporta o seletor de fontes da GUI.fonte
guu
minúscula uma linha egu[motion]
minúscula o valor desse movimento. Da mesma forma,gUU
egU[motion]
funciona da mesma maneira, apenas para maiúsculas.Suponho que você queira o texto em minúsculas. A solução é bem simples:
Explicação:
fonte
U
de maiúsculas (por exemploggVGU
)Semelhante à solução de mangledorf, mas mais curta e fácil para leigos
:%s/.*/\L&/g
fonte
:%s/.*/\L&
seria suficiente (não precisa dag
bandeira, 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 aquiwhat 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.*
use esta opção de modo de comando
fonte
Muitas maneiras de esfolar um gato ... aqui está o que eu acabei de postar sobre:
Da mesma forma para maiúsculas:
Eu prefiro assim porque estou usando esse construct (
:%s/[pattern]/replace/g
) o tempo todo, então é mais natural.fonte
:%s/./\U&/g
també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
fonte
&
. \ 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.
fonte
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).
fonte
Se você estiver rodando sob o sabor do Unix
fonte
:%!tr A-Z a-z
!
indica um comando de shell externo, então$ man tr
(ao contrário de:help tr
) revela quetr
é paratranslate
.:%0,$!tr [:upper:] [:lower:]
Eu tive um problema semelhante e queria usar
":%s/old/new/g"
, mas acabei usando dois comandos:fonte