{"id":67,"date":"2009-10-29T22:51:34","date_gmt":"2009-10-29T20:51:34","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=67"},"modified":"2022-08-20T18:26:12","modified_gmt":"2022-08-20T16:26:12","slug":"iswitchb","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=67","title":{"rendered":"iswitchb"},"content":{"rendered":"<p><strong>Iswitchb<\/strong> significa \u00ab<strong>Interactive Switch Buffer<\/strong>\u00bb que es un modo interactivo que facilita manejo de m\u00faltiples buffers. Para activarlo debemos a\u00f1adir a nuestro <strong>.emacs<\/strong> las siguientes l\u00edneas:<\/p>\n<p style=\"padding-left: 30px;\"><em><span style=\"color: #ff6600;\">;;============================================================<br \/>\n;; iswitchb mode<br \/>\n;;============================================================<br \/>\n(require &#8216;iswitchb)<br \/>\n(iswitchb-mode)<\/span><\/em><\/p>\n<p>Aunque tambi\u00e9n podemos agregar excepciones para que ignore algunos buffers que puede no interesarnos, \u00e9stas son las excepciones t\u00edpicas, aunque todo depender\u00e1 de cada uno, y \u00e9sta es una decisi\u00f3n que debe tomar el usuario final:<\/p>\n<p style=\"padding-left: 30px;\"><span style=\"color: #ff6600;\"><em>;;============================================================<br \/>\n;; iswitchb ignores<br \/>\n;;============================================================<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab^ \u00ab)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*Messages*\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*ECB\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*Buffer\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*Completions\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*ftp \u00ab)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*bsh\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab*jde-log\u00bb)<br \/>\n(add-to-list &#8216;iswitchb-buffer-ignore \u00ab^[tT][aA][gG][sS]$\u00bb)<\/em><\/span><\/p>\n<p>Cuando pulsemos \u00ab<strong>C-x b<\/strong>\u00bb para cambiar de buffer, aparecer\u00e1 un listado de bufferes abiertos a los cuales podemos acceder, por defecto accederemos al buffer que aparece en primer lugar y resaltado de un color distinto. Si queremos acceder a dicho buffer tan s\u00f3lo debemos pulsar <strong>ENTER<\/strong> como lo hac\u00edamos de manera habitual. Si por el contrario lo que queremos es acceder a otro buffer de la lista, podemos pulsar <strong>C-s <\/strong>para ir al siguiente buffer o<strong> C-r<\/strong> para ir al buffer anterior, y repetir este proceso tantas veces como necesitemos.<\/p>\n<p>Cuando pulsamos \u00ab<strong>C-x b<\/strong>\u00bb para cambiar de buffer, existe otra forma de acceder a un buffer sin necesidad de recorrer dicha lista si es demasiado extensa por ejemplo. Podemos escribir parte del nombre del buffer al cual queramos acceder, por lo que iswitchb ignorar\u00e1 aquellos buffers que no contengan el patr\u00f3n buscado, acelerando as\u00ed el proceso y acortando la lista tanto como se pueda, lo cual acelerar\u00e1 el proceso bastante.<\/p>\n<p>Tambi\u00e9n es posible usar las teclas de flecha (comunmente conocidas como <strong>arrow keys<\/strong>) en lugar de <strong>C-s<\/strong> y <strong>C-r<\/strong> que puede resultar un poco incomodo para los que no est\u00e9n acostumbrados. Para ello deberemos a\u00f1adir las siguientes l\u00edneas en nuestro<strong> .emacs<\/strong>:<\/p>\n<p style=\"padding-left: 30px;\"><em><span style=\"color: #ff6600;\"> (defun iswitchb-local-keys ()<br \/>\n(mapc (lambda (K)<br \/>\n(let* ((key (car K)) (fun (cdr K)))<br \/>\n(define-key iswitchb-mode-map (edmacro-parse-keys key) fun)))<br \/>\n&#8216;((\u00ab&lt;right&gt;\u00bb . iswitchb-next-match)<br \/>\n(\u00ab&lt;left&gt;\u00bb  . iswitchb-prev-match)<br \/>\n(\u00ab&lt;up&gt;\u00bb    . ignore             )<br \/>\n(\u00ab&lt;down&gt;\u00bb  . ignore             ))))<\/span><\/em><\/p>\n<p style=\"padding-left: 30px;\"><em><span style=\"color: #ff6600;\"> (add-hook &#8216;iswitchb-define-mode-map-hook &#8216;iswitchb-local-keys)<\/span><\/em><\/p>\n<p>Existe la posibilidad de combinar <strong>iswitchb <\/strong>con <strong>icicles <\/strong>y otras opciones, para poder acceder a los menus de manera c\u00edclica, la cual no considero fundamental, debido a que dichos listados pueden ser demasiado largos y puede ser una odisea tener que ir movi\u00e9ndose elemento por elemento hasta acceder al item deseado, a excepci\u00f3n de si se filtra escribiendo parte de la cadena<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Iswitchb significa \u00abInteractive Switch Buffer\u00bb que es un modo interactivo que facilita manejo de m\u00faltiples buffers. Para activarlo debemos a\u00f1adir a nuestro .emacs las siguientes l\u00edneas: ;;============================================================ ;; iswitchb mode ;;============================================================ (require &#8216;iswitchb) (iswitchb-mode) Aunque tambi\u00e9n podemos agregar excepciones para que ignore algunos buffers que puede no interesarnos, \u00e9stas son las excepciones t\u00edpicas, aunque todo [&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":[127,8,126,125],"class_list":["post-67","post","type-post","status-publish","format-standard","hentry","category-basic","tag-buffers","tag-emacs","tag-icicles","tag-iswitchb"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/67"}],"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=67"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions"}],"predecessor-version":[{"id":777,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/67\/revisions\/777"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=67"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=67"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=67"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}