Oct 25

Rectángulos

Tag: basicoverdrive @ 11:10 pm

Trabajar con rectángulos en emacs puede ser muy útil, pero antes de trabajar con rectángulos debemos seleccionar el buffer entero y cercionarnos de que dicho buffer no contiene tabulaciones si queremos evitar problemas.

C-x h para seleccionar el buffer
M-x untabify para quitar las tabulaciones.

Decir que este paso es recomendable pero posiblemente innecesario, debido a que en las ultimas versiones de emacs (probablemente desde la 22) emacs es suficientemente inteligente para trabajar correctamente con rectángulos en un buffer con tabulaciones.

Imaginemos que tenemos un documento a modo tabla en texto, con sus filas (separadas mediante y sus columnas separadas previamente con TAB pero esta vez convertidos a simple espacios con M-x untabify. Podemos desplazar el cursor hasta el primer carácter de la primera columna, pulsar C-SPC y desplazar de nuevo el caracter hasta el primer carácter de otra columna y otra fila cualquiera. Si ahora ejecutamos uno de los siguientes comandos podremos ver los siguientes efectos aplicados a rectángulos (notar que los prefixjos de rectángulos siempre comenzarán por C-x r.

C-x r k : ‘kill-rectangle‘; elimina un rectángulo.
C-x r y : ‘yank-rectangle‘; pega un rectángulo.
C-x r o : ‘open-rectangle‘; crea un rectángulo como el seleccionado previamente sin contenido, abre una área.
C-x r c : ‘clear-rectangle‘; rellena con espacios el rectángulo seleccionado, sin borrar su desplazamiento pero sí su contenido.
C-x r d : ‘delete-rectangle‘; elimina un rectángulo seleccionado, incluyendo su desplazamiento y su contenido.
C-x r r [a-z0-9]: ‘copy-rectangle-to-register‘; copia el rectángulo a un registro, que puede ser usado posteriormente, los registros validos son cualquier carácter alfanumérico.
C-x r i : ‘insert-register‘; inserta el contenido de un registro.
(sin keystroke asociada) : ‘delete-whitespace-rectangle‘; si contiene espacios en blancos adicionales, los elimina.
C-x r t : ‘string-rectangle‘; rellena con un carácter o cadena un rectángulo. Además el rectángulo puede redimensionarse en caso de que el ancho exceda las dimensiones del rectángulo.
(sin keystroke asociada) : ‘string-insert-rectangle‘; muestra un prompt para la cadena que posteriormente sera insertada en un rectángulo.

  • Rectángulos con CUA

Si trabajamos con CUA, C-x se emplea para cortar, por lo que debemos buscar una manera alternativa para poder realizar las acciones anteriormente mencionadas.

Con Shift-<CR> podremos seleccionar un rectángulo, una vez vista la parte seleccionada podemos presionar M-p, el cual seleccionará perfecto. Ahora podemos hacer uso de C-x y C-v ya sea para cortar o pegar.

Leave a Reply

You must be logged in to post a comment.