Blog atrasado con gajes del oficio

Reemplazo De Minúsculas Con Mayúsculas Con Emacs

Para un simple reemplazo de caracteres al principio de una oración, es decir, de minúsculas por mayúsculas, se puede emplear un simple y eficiente método de expresión regular también en Emacs.

Ya existe un modo de capitalization que logra este reemplazo de una cadena de caracteres o cadena de texto como se dice en inglés: string, y aunque tiene un inigualable mérito para este propósito, de igual manera retrasa el ingreso de caracteres., como es de esperar, el retraso o el lapso que esto conlleva, es una desventaja para una óptima funcionalidad.

Digamos por ejemplo que:

foo bar. foo bar. foo bar.

Para modificar la minúscula por una mayúscula:

 M-x replace-regex
 \(\. \w\)
 \,(capitalize \1)

que nos da como resultado:

foo bar. Foo bar. Foo bar.

pero el comienzo de la oración o de la línea no se ha modificado, entonces:

 M-x replace-regex
 \(^\w\)
 \,(capitalize \1)

logra hacer la modificación restante a:

Foo bar. Foo bar. Foo bar

Si deseas hacer la modificación de una vez y por todas, y abreviando por consiguiente las dos expresiones regulares anteriores, utilizarías en este caso el delimitador | antes de la barra oblicua \. Es decir:

 M-x replace-regex
 \(^\w\|\. \w\)
 \,(capitalize \1) 

Reemplaza el original foo bar. foo bar. foo bar. A Foo bar. Foo bar. Foo bar.

Notas

Si por aluna casualidad, Emacs no reconoce y te devuelve como resultado que reemplazó (0) eventos, quizás pudiese tuvieses que palanquear (toggle) case-replace a nulo (nil). Vea esta respuesta en Stackoverflow.