{"id":7,"date":"2008-06-16T02:08:39","date_gmt":"2008-06-16T00:08:39","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=7"},"modified":"2022-08-20T18:26:36","modified_gmt":"2022-08-20T16:26:36","slug":"puntero-cursor-y-marca-regiones-basico","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=7","title":{"rendered":"Puntero, cursor y marca. Regiones (b\u00e1sico)"},"content":{"rendered":"<p>Antes de poder continuar, es imprescindible como explicar el concepto de puntero, cursor y marca. Todo ello esta explicado en la charla ya mencionada antes por Jos\u00e9 E. Marchesi (<a title=\"Editorwars-Emacs-Vs-Vim\" href=\"http:\/\/www.blackhats.es\/emacs\/Editorwars-Emacs-Vs-Vim.avi\">Editorwars-Emacs-Vs-Vim<\/a>).<\/p>\n<p>El cursor, es aquel elemento que parpadea, y que nos sirve a nosotros, los usuarios del sistema, saber en que posici\u00f3n nos encontramos. Sin embargo, los editores de texto y en este caso Emacs, no hace uso de este elemento, sino que usa el puntero. Cuando tenemos el cursor sobre el car\u00e1cter &#8216;D&#8217; de la palabra  \u00abABCDEF\u00bb,  lo que realmente ocurre es que existe  un puntero que se encuentra se\u00f1alando la posicion entre la &#8216;C&#8217; y la &#8216;D&#8217;, de esa forma si escribimos algo se escribir\u00e1 no sobre la &#8216;D&#8217;, pero tampoco despu\u00e9s de la &#8216;D&#8217;, sino entre la &#8216;C&#8217; y la &#8216;D&#8217;, que en efecto es la posici\u00f3n del puntero. Este concepto est\u00e1 muy bien explicado dicha charla, que como se dice, existe una posicion v\u00e1lida para el puntero entre cada car\u00e1cter. Por lo tanto cada vez que movemos el cursor, Emacs internamente cambia el valor del puntero.<\/p>\n<p>Por \u00faltimo explicaremos el concepto de marca. La marca, por defecto es invisible en versiones anteriores a Emacs 22. La marca se emplea para trabajar con regiones por norma general o para recordar posiciones para nuestro inter\u00e9s a la cual nos podremos referir.<\/p>\n<p>Explicamos ahora algunos comandos b\u00e1sicos empleando la marca y regiones que servir\u00e1n como ejemplo para confirmar y fortalecer la teor\u00eda explicada anteriormente. En primer lugar tenemos que saber como poner la marca, para ello usaremos <strong>C-SPC<\/strong>. Recordemos que la marca estar\u00e1 guardando la posici\u00f3n entre dos caracteres, nunca encima de uno. Si movemos el cursor hacia otro lugar, tendremos en efecto una region desde la posici\u00f3n de la marca hasta la del cursor, la cual podemos copiar empleando <strong>M-w<\/strong>, cortar usando <strong>C-w<\/strong>,  y  despu\u00e9s de ello pegar esta regi\u00f3n usando <strong>C-y<\/strong> o <strong>M-y<\/strong>. La diferencia entre estas dos \u00faltimas es que <strong>C-y<\/strong> sigue manteniendo la regi\u00f3n en el kill-ring, mientras que <strong>M-y<\/strong> no.<\/p>\n<p>El <strong>kill ring<\/strong> (anillo de la muerte) es un cementerio de todo aquello eliminado (a excepci\u00f3n de car\u00e1cteres individuales). Es decir, aqu\u00ed se almacenar\u00e1n palabras, regiones, p\u00e1rrafos, etc&#8230; borrados. Gracias a \u00e9ste kill ring, eliminar por error en emacs nunca es fat\u00eddico, siempre podremos acudir a este anillo.<\/p>\n<p>Existe tambi\u00e9n un <strong>mark ring<\/strong>, que es un cementerio de marcas; cada vez que marcamos una nueva marca, guardamos en \u00e9ste anillo la marca anterior.<\/p>\n<p>\u00c9stos anillos son listas enlazadas circulares, y eliminar por norma general a\u00f1adir\u00e1 un nuevo nodo al anillo, mientras que recuperar el valor algunas veces implicar\u00e1 la eliminaci\u00f3n del nodo.<\/p>\n<p>Por \u00faltimo podemos intercambiar el valor de la marca y cursor usando <strong>C-x C-x<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.blackhats.es\/emacs\/pcm.png\" alt=\"puntero_cursor_y_marca\" width=\"620\" height=\"300\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes de poder continuar, es imprescindible como explicar el concepto de puntero, cursor y marca. Todo ello esta explicado en la charla ya mencionada antes por Jos\u00e9 E. Marchesi (Editorwars-Emacs-Vs-Vim). El cursor, es aquel elemento que parpadea, y que nos sirve a nosotros, los usuarios del sistema, saber en que posici\u00f3n nos encontramos. Sin embargo, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[12],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-intro","tag-emacs-puntero-cursor-marca-regiones"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7"}],"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=7"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":817,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/817"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}