¿Cómo se convierte todo el texto en Vim a minúsculas? ¿Es posible?
vim
text-processing
ksuralta
fuente
fuente
Respuestas:
Si realmente quiere decir mayúsculas pequeñas , entonces no, eso no es posible, al igual que no es posible convertir texto en 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
(oU
convertir a mayúsculas). Tilde (~
) en modo comando invierte el caso del carácter debajo del cursor.Si desea ver todo el texto en Vim en mayúsculas, puede ver la
guifont
opción o escribir:set guifont=*
si su sabor Vim admite el selector de fuente GUI.fuente
guu
en minúscula una línea y engu[motion]
minúscula el valor de ese movimiento de texto. Del mismo modo,gUU
ygU[motion]
funcionan de la misma manera, solo para mayúsculas.Supongo que quiere minúsculas el texto. La solución es bastante simple:
Explicación:
fuente
U
para mayúsculas (pggVGU
. ej. )Similar a la solución de Mangledorf, pero más corta y amigable
:%s/.*/\L&/g
fuente
:%s/.*/\L&
sería suficiente (no necesita lag
bandera ya que.*
selecciona la línea completa):%s/./\L&/g
, ya que / g / denota una operación que es global para la línea. Sin embargo, lo que me atrapa es el&
. ¿Por qué es eso necesario?&
significa aquíwhat was matched by the pattern
, por lo que puede entenderse de la siguiente manera: reemplazar.*
por\Lowercase(what was matched by the pattern)
. Tenga en cuenta que la coincidencia en.
todo el mundo es más lenta que la coincidencia.*
use esta opción de modo de comando
fuente
Muchas formas de pelar un gato ... esta es la forma en que acabo de publicar :
Del mismo modo para mayúsculas:
Prefiero de esta manera porque estoy usando esta construcción (
:%s/[pattern]/replace/g
) todo el tiempo, así que es más natural.fuente
:%s/./\U&/g
También funciona. Resulta que ignora los números y los caracteres que no son del alfabeto. Lo que me atrapa es el&
. ¿Por qué no es \ U (o \ L) por sí solo suficiente? ¿Podemos obtener una explicación para eso?&
es un sustituto de la cadena coincidente. Por lo tanto,\U&
capitaliza la cadena coincidente para que pueda usarse para el reemplazo.Para ver ejemplos y más información, lea esto: http://vim.wikia.com/wiki/Switching_case_of_characters
fuente
&
. \ L y \ U tienen mucho sentido, pero ¿por qué es&
necesario?utilizar
ggguG
gg: va a la primera línea. gu: cambiar a minúsculas. G: va a la última línea.
fuente
Por lo general Vu(o VUen mayúsculas) es suficiente para convertir toda la línea en minúsculas, Vya que selecciona toda la línea para aplicar la acción.
Tilda ( ~) cambia el caso de la letra individual , resultando en un caso de camello 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 modo visual verdadero y los modos relacionados V- línea visual, y Ctrl+ Q- bloque visual (lo que le permite seleccionar bloques, una gran característica que otros editores avanzados también ofrecen generalmente manteniendo presionada la Alttecla y seleccionando el texto).
fuente
Si estás corriendo bajo el sabor de Unix
fuente
:%!tr A-Z a-z
!
indica un comando de shell externo, por lo que$ man tr
(a diferencia de:help tr
) revela quetr
es paratranslate
.:%0,$!tr [:upper:] [:lower:]
Tuve un problema similar y quería usarlo
":%s/old/new/g"
, pero terminé usando dos comandos:fuente