Jul 10 2008

Desplazamiento avanzado y Alteración de texto

Tag: basicoverdrive @ 1:41 pm

Continuando con el formato del artículo anterior, llega la tercera y última parte, en cuanto se refiere a la sección básica del blog, sobre temas relacionados con desplazamiento y la alteración de texto.

En primer lugar citaré ciertos desplazamientos con los que se puede subsistir sin él, pero el cual es muy útil cuando se altera cierto tipo de texto.

Desplazamientos avanzados:

  • M-f : ‘forward-word‘; Desplaza el cursor a la palabra siguiente.
  • M-b : ‘backward-word‘; Desplaza el cursor a la palabra anterior.
  • C-a : ‘beginning-of-line‘; Desplaza el cursor al principio de la línea.
  • C-e : ‘end-of-line‘; Desplaza el cursor al final de la línea.
  • M-a : ‘forward-sentence‘; Desplaza el cursor a la frase siguiente.
  • M-e : ‘backward-sentence‘; Desplaza el cursor a la frase anterior.
  • M-} : ‘forward-paragraph‘; Desplaza el cursor al siguiente párrafo.
  • M-{ : ‘backward-paragraph‘; Desplaza el cursor al párrafo anterior.
  • C-x ] : ‘forward-page‘; Desplaza el cursor a la página siguiente.
  • C-x [ : ‘backward-page‘; Desplaza el cursor a la página anterior.
  • C-v : ‘scroll-up‘; Mueve el scroll hacia arriba.
  • M-v : ‘scroll-down‘; Mueve el scroll hacia abajo.

Pasemos ahora con la alteración de texto:

Tranposición:

  • C-t : ‘transpose-chars‘; intercambia dos caracteres.
  • M-t : ‘transpose-words‘; intercambia dos palabras.
  • C-x C-t : ‘transpose-lines‘; intercambia dos líneas.
  • Sin keystroke asociada : ‘transpose-sentence‘; intercambia dos frases.
  • Sin keystroke asociada : ‘tranpose-paragraphs‘; intercambia dos párrafos.

Antes de continuar, debemos aclarar, que el comportamiento de algunos comandos depende de una tabla de sintaxis que ofrecen los modos, es decir, que no será lo mismo avanzar un párrafo en modo fundamental cuando editemos texto de cualquier tipo, que cuando avancemos por ejemplo un párrafo en c-mode. Por lo tanto el mismo comando realizará la misma acción, de formas distintas según el modo en el que se encuentre.

Capitalización:

  • M-c : ‘capitalize-word‘; Convierte a mayúscula la letra actual.
  • M-u : ‘upcase-word‘; Convierte a mayúsculas las letras desde el cursor hasta el final de la palabra actual.
  • M-l : ‘downcase-word‘; Convierte a minúsculas las letras desde el cursor hasta el final de la palabra actual.

También podemos usar argumentos negativos, esto es, que podemos aplicar la acción sobre texto previo, en lugar del actual. Para ello solo debemos pulsar una vez M– (Meta guión) antes de la acción a realizar (debemos tener en cuenta que no todas las acciones aceptan argumentos negativos), aquí tenéis un ejemplo de en que casos podríamos usarlo:

  • M– M-c : Convierte a mayúscula la primera letra de la palabra actual (ignorando desde el cursor hasta el final de la palabra).
  • M– M-u : Convierte a mayúsculas la primera letra de la palabra actual
  • M– M-l : Convierte a minúsculas las letras desde el cursor hasta el principio de la palabra.

En el siguiente artículo explicaré las repeticiones (gracias a David por aclararme todo el tema de repeticiones), las cuales no son de uso muy habitual, pero que pueden ser fundamentales a la hora de escribir macros o programas en emacs lisp.