regular palabra expresion exacta espacio blanco alfanumerico vim text-processing

palabra - Cómo convertir todo el texto a minúsculas en Vim



expresion regular alfanumerico y espacio en blanco (10)

¿Cómo se convierte todo el texto en Vim a minúsculas? ¿Es posible?


  1. Si realmente quiere decir letras mayúsculas , entonces no, eso no es posible, así como no es posible convertir el texto a negrita o cursiva en ningún editor de texto (a diferencia del procesador de textos ). Si desea convertir texto a minúsculas, cree un bloque visual y presione u (o U para convertir a mayúsculas). Tilde ( ~ ) en modo de comando invierte el caso del personaje debajo del cursor.

  2. Si desea ver todo el texto en Vim en guifont mayúsculas, le guifont opción guifont o escriba :set guifont=* si su sabor Vim admite el selector de fuente GUI.


Muchas maneras de despellejar a un gato ... esta es la forma en que acabo de posted :

:%s/[A-Z]//L&/g

Del mismo modo para mayúsculas:

:%s/[a-z]//U&/g

Prefiero esto porque estoy usando este constructo ( :%s/[pattern]/replace/g ) todo el tiempo, así que es más natural.


Por lo general, V u (o V U para mayúsculas) es suficiente para convertir toda la línea en minúsculas, ya que V ya selecciona toda la línea para aplicar la acción.

Tilda ( ~ ) cambia el caso de la letra individual , resultando en camel case o similar.

Es realmente genial cómo Vim tiene muchos modos diferentes para lidiar con varias ocasiones y cómo esos modos están perfectamente organizados.

Por ejemplo, v : el verdadero modo visual, y la V relacionada, línea visual, y Ctrl + Q : modos de bloque visual (lo que le permite seleccionar bloques, una gran característica que algunos otros editores avanzados también ofrecen usualmente manteniendo presionada la tecla Alt y seleccionando el texto).


Si se está ejecutando bajo un sabor de Unix

:0,$!tr "[A-Z]" "[a-z]"


Similar a la solución de mangledorf, pero más corto y amigable

:%s/.*//L&/g


Supongo que quieres minúsculas del texto. La solución es bastante simple:

ggVGu

Explicación:

  1. gg - va a la primera línea de texto
  2. V - activa la selección visual, en modo línea
  3. G : va al final del archivo (en el momento en que tiene todo el texto seleccionado)
  4. u - área seleccionada en minúscula

Tuve un problema similar, y quería usar ":%s/old/new/g" , pero terminé usando dos comandos:

:0 gu:$


usa ggguG

gg: va a la primera línea. gu: cambiar a minúsculas. G: va a la última línea.


usa esta opción de modo de comando

ggguG gg - Goto the first line g - start to converting from current line u - Convert into lower case for all characters G - To end of the file.


  • Alterne la caja "HellO" a "HELLo" con g ~ luego un movimiento.
  • En mayúsculas "HellO" a "HOLA" con gU luego un movimiento.
  • En minúsculas "HellO" para "hola" con gu luego un movimiento.

Para ver ejemplos y más información, lee esto: vim.wikia.com/wiki/Switching_case_of_characters