Curso emacs 10 (Sobre historiales, logs y marcas)

Como en el manejo de todo sistema basado en programario libre, saber lo que ocurre en la sesión es importante, y, como es lógico, emacs nos brinda las herramientas necesarias. La primera que veremos en command-history que mantiene un histórico de los comandos complejos. Un comando complejo es el que lee un argumento interactivo desde el minibuffer (M-x …, M-…)

M-x command-history

Si no solo queremos el historial de comandos sino también los buffers cerrados podemos añadir al archivo de configuración .emacs las líneas:

;;; Reabrir algún buffer cerrado anteriormente
;;; El atajo de teclado es C-c 2
(require ‘recentf)
(recentf-mode 1)
(setq recentf-max-saved-items 200)
(setq recentf-max-menu-items 35)
;; prevenir la limpieza periódica de archivos remotos:
(setq recentf-auto-cleanup ‘never)
;;; Reabrir alguno de los buffer cerrados:
(global-set-key (kbd “C-c 2”) ‘recentf-open-files)

10-1_recentf

Con solo posicionar el cursor sobre alguno del listado y pulsar intro, se nos abrirá de nuevo. Cerramos la ventana pulsando “q”.

Podemos acceder a un más completo historial sobre todo lo que ocurre en la sesión, activando el modo savehist añadiendo las siguientes líneas a .emacs:

;;; Guardar un completo historial de todo lo que ocurre en la sesión:
(setq savehist-file “~/.emacs.d/savehist”)
(savehist-mode 1)
(setq history-length t)
(setq history-delete-duplicates t)
(setq savehist-save-minibuffer-history 1)
(setq savehist-additional-variables
‘(kill-ring
search-ring
regexp-search-ring))

Lo consultamos en la ruta especificada en savehist-file. También podemos colocar un acceso rápido a dicho archivo como habíamos mencionado en el pedazo séptimo para .bashrc. Esto lo dejo para el lector.

10-2_savehist

En eshell podemos usar, como en la shell bash, las flechas para acceder a comandos lanzados con anterioridad. Lo propio en emacs es usar M-p para subir en el listado y M-n para bajar y con C-c C-l se abre una ventana con todo el listado.

10-3_command_list

También recordar, como mencionábamos en el pedazo cuarto, que con C-h e accedemos a un listado de logs de la sesión.

Hablemos un poco de las marcas. Para acceder a un punto concreto de un archivo, emacs pone a nuestra disposición las marcas. Creamos un archivo largo y lo guardamos:

C-u C-! lorem -p 200
C-x C-s

Avanzamos un par o tres de páginas:

C-u 3 C-v

Nota.- C-u significa repetir las veces que se indique (3) el comando que viene a continuación (C-v)

Colocamos al inicio de una línea unas cuantas “x” para comprobar si funciona y pulsamos la combinación:

C-x r m

Colocamos un nombre para la marca, por ejemplo “marca”. Guardamos y cerramos el buffer (C-x k). A continuación pulsamos:

C-x r b

Ponemos el nombre que le hemos dado a la marca que buscamos, “marca” en este caso. Se abrirá el buffer cerrado con el cursor en la línea que habíamos marcado. Para ver todas las marcas que tenemos registradas pulsamos C-x r l

10-4_marcas

Para eliminar una marca:

M-x bookmark-delete

En el próximo pedazo veremos el bloc de notas, ejecución de scripts y consulta del tiempo en nuestra ciudad.

Entregas anteriores:

Curso de emacs 9 http://www.lapipaplena.org/curso-emacs-9-corrector-ortografico-y-wget/
Curso de emacs 8 http://www.lapipaplena.org/curso-emacs-8-acceder-a-la-shell-eshell-y-ansi-term/
Curso de emacs 7 http://www.lapipaplena.org/curso-emacs-7-alias-lanzadores-y-alguna-minucia/
Curso de emacs 6 http://www.lapipaplena.org/curso-de-emacs-6-gestor-de-extensiones-i-otros-ajustes/
Curso de emacs 5 http://www.lapipaplena.org/curso-emacs-5-sobre-urls-sudo-y-musica-con-emms
Curso de emacs 4 http://www.lapipaplena.org/curso-emacs-4-ayudas-y-colorines/
Curso de emacs 3 http://www.lapipaplena.org/curso-emacs-3-dired-el-navegador-de-archivos/
Curso de emacs 2 http://www.lapipaplena.org/curso-emacs-2-iniciando-emacs-y-moviendonos-con-soltura/
Curso de emacs 1 http://www.lapipaplena.org/curso-emacs-1-a-modo-de-pequena-introduccion/

Share

3 comments

  1. emacsboy dice:

    me gusta ese modo recenf, asi que me lo quedo
    a eshel se le pueden agregar alias en ~/.emacs.d/eshell/alias
    con el formato
    alias aquiElAlias aquiElComando
    ej:
    alias + ls -F –color=auto ;; donde + es el alias de un ls colorido
    otro alias mas
    alias ++ ls -Falh –color=auto

  2. emacsboy dice:

    tambien se pueden agregar los aliases directo desde eshell y se guardan en dicho fichero sin mas, listos para la siguiente secion

    • templix dice:

      Como ya dijimos en el 7º pedazo, siempre preferimos introducir los alias a partir de la función “defalias” pero todas las opciones son buenas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *