{"id":35,"date":"2008-10-25T23:10:31","date_gmt":"2008-10-25T21:10:31","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=35"},"modified":"2022-08-20T18:26:24","modified_gmt":"2022-08-20T16:26:24","slug":"rectangulos","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=35","title":{"rendered":"Rect\u00e1ngulos"},"content":{"rendered":"<p>Trabajar con rect\u00e1ngulos en emacs puede ser muy \u00fatil, pero antes de trabajar con rect\u00e1ngulos debemos seleccionar el buffer entero y cercionarnos de que dicho buffer no contiene tabulaciones si queremos evitar problemas.<\/p>\n<p><strong>C-x h<\/strong> para seleccionar el buffer<br \/>\n<strong>M-x untabify<\/strong> para quitar las tabulaciones.<\/p>\n<p>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\u00e1ngulos en un buffer con tabulaciones.<\/p>\n<p>Imaginemos que tenemos un documento a modo tabla en texto, con sus filas (separadas mediante  y sus columnas separadas previamente con <strong>TAB <\/strong>pero esta vez convertidos a simple espacios con <strong>M-x untabify<\/strong>. Podemos desplazar el cursor hasta el primer car\u00e1cter de la primera columna, pulsar <strong>C-SPC<\/strong> y desplazar de nuevo el caracter hasta el primer car\u00e1cter de otra columna y otra fila cualquiera. Si ahora ejecutamos uno de los siguientes comandos podremos ver los siguientes efectos aplicados a rect\u00e1ngulos (notar que los prefixjos de rect\u00e1ngulos siempre comenzar\u00e1n por <strong>C-x r<\/strong>.<\/p>\n<p><strong>C-x r k<\/strong> : &#8216;<span style=\"color: #0000ff;\">kill-rectangle<\/span>&#8216;; elimina un rect\u00e1ngulo.<br \/>\n<strong>C-x r y<\/strong> : &#8216;<span style=\"color: #0000ff;\">yank-rectangle<\/span>&#8216;; pega un rect\u00e1ngulo.<br \/>\n<strong>C-x r o<\/strong> : &#8216;<span style=\"color: #0000ff;\">open-rectangle<\/span>&#8216;; crea un rect\u00e1ngulo como el seleccionado previamente sin contenido, abre una \u00e1rea.<br \/>\n<strong>C-x r c<\/strong> : &#8216;<span style=\"color: #0000ff;\">clear-rectangle<\/span>&#8216;; rellena con espacios el rect\u00e1ngulo seleccionado, sin borrar su desplazamiento pero s\u00ed su contenido.<br \/>\n<strong>C-x r d<\/strong> : &#8216;<span style=\"color: #0000ff;\">delete-rectangle<\/span>&#8216;; elimina un rect\u00e1ngulo seleccionado, incluyendo su desplazamiento y su contenido.<br \/>\n<strong>C-x r r [a-z0-9]<\/strong>: &#8216;<span style=\"color: #0000ff;\">copy-rectangle-to-register<\/span>&#8216;; copia el rect\u00e1ngulo a un registro, que puede ser usado posteriormente, los registros validos son cualquier car\u00e1cter alfanum\u00e9rico.<br \/>\n<strong>C-x r i<\/strong> : &#8216;<span style=\"color: #0000ff;\">insert-register<\/span>&#8216;; inserta el contenido de un registro.<br \/>\n<strong>(sin keystroke asociada)<\/strong> :  &#8216;<span style=\"color: #0000ff;\">delete-whitespace-rectangle<\/span>&#8216;; si contiene espacios en blancos adicionales, los elimina.<br \/>\n<strong>C-x r t<\/strong> : &#8216;<span style=\"color: #0000ff;\">string-rectangle<\/span>&#8216;; rellena con un car\u00e1cter o cadena un rect\u00e1ngulo. Adem\u00e1s el rect\u00e1ngulo puede redimensionarse en caso de que el ancho exceda las dimensiones del rect\u00e1ngulo.<br \/>\n<strong>(sin keystroke asociada)<\/strong> :  &#8216;<span style=\"color: #0000ff;\">string-insert-rectangle<\/span>&#8216;; muestra un prompt para la cadena que posteriormente sera insertada en un rect\u00e1ngulo.<\/p>\n<ul>\n<li>Rect\u00e1ngulos con CUA<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">Si trabajamos con <strong>CUA<\/strong>, <strong>C-x<\/strong> se emplea para cortar, por lo que debemos buscar una manera alternativa para poder realizar las acciones anteriormente mencionadas.<\/p>\n<p style=\"padding-left: 30px;\">Con <strong>Shift-&lt;CR&gt;<\/strong> podremos seleccionar un rect\u00e1ngulo, una vez vista la parte seleccionada podemos presionar M-p, el cual seleccionar\u00e1 perfecto. Ahora podemos hacer uso de <strong>C-x<\/strong> y <strong>C-v<\/strong> ya sea para cortar o pegar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trabajar con rect\u00e1ngulos en emacs puede ser muy \u00fatil, pero antes de trabajar con rect\u00e1ngulos 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 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[44],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-basic","tag-emacs-rectangulos"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/35"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=35"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions"}],"predecessor-version":[{"id":796,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/35\/revisions\/796"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}