Abr 17 2011

Gnus (comandos adicionales)

Tag: basicoverdrive @ 2:02 pm

Hace ya algun tiempo, escribi un articulo sobre gnus. Basicamente se centraba en la configuracion del correo mediante POP/IMAP y SMTP, algunos conceptos como el de grupo y etiquetas (que aqui son un concepto algo mas avanzado a lo que solemos conocer con este nombre). Tambien daba algunos comandos basicos para que el que lo configurase, pudiese comenzar a utilizarlo y moverse sin necesidad de leerse en manual de gnus que son cientos y cientos de paginas.

Sin embargo, creo que es interesante introducir algunos comandos adicionales, para los que lo hayais usado, sigais sintiendos comodos y podais ganar tiempo, o simplemente algunas acciones que generalmente realizamos sin complicacion, pero que en gnus puede ser un problema si no conocemos los keybindings o los comandos asociados.

Sin mas dilacion, pasamos a mostrar algunos de esos comandos mas utiles:

# : Se emplea para activar el ‘flag select’, es decir, es como hacer una seleccion de un conjunto de mails para luego realizar una accion comun con ellos. La accion se realizara sobre toda esta seleccion, sea del tipo que sea. Por ejemplo podriamos seleccionar muchos mails con # y luego hacer un B backspace y eliminariamos todos de golpe. Tambien se podria combinar con prefijos, por ejemplo. C-100 # seleccionaria los primeros cien correos, luego B backspace, borraria estos 100 mails.

M-# : Se emplea para quitar el flag a un elemento seleccionado.

B-Backspace : Elimina un mail o grupo de mails (en el segundo caso seleccionados mediante #).

B m <grupo> : Mueve todos los mensajes a un grupo.

! : Hace un highlight de un mail, o lo que es lo mismo, lo agrega a favoritos. La diferencia estriba en que el mail aparecera siempre en la lista para ese grupo, junto con los nuevos, aunque este aparecera remarcado de otro color. Si ademas se quiere ver los mails antiguos al entrar en un grupo mediante INTRO (y no solo los favoritos), deberemos lanzar dicho comando con el prefijo, es decir: C-u INTRO.

M-u : Marca un mail como no leido o ‘mark-as-unread‘.

m : Crea un nuevo mail.

r : Contesta a un mail (reply).

R : Contesta a un mail incluyendo el mail original (quote). La funciona a la que se llama es ‘gnus-article-reply-with-original‘.

S W : Contesta a un mail incluyendo el mail original (quote) y ademas incluyendo a toda la lista de mails del mensaje original del CC. La funciona a la que se llama es ‘gnus-article-wide-reply-with-original‘.

S o m : Reenvia un mail (forward).

C-c C-a : Adjunta un fichero. Llama a la funcion ‘attach-file’.

C-c C-f C-c : Crea un CC (copia de mail). Tambien se permite escribir a mano dicho campo.

C-c C-f C-b : Crea un BCC (aka CCO -copia de mail oculta-). Tambien se permite escribir a mano dicho campo.

 


Mar 17 2011

msf-abbrev

Tag: basicoverdrive @ 12:03 am

Msf-abbrev es un modo mas que se puede emplear en GNU/Emacs para abreviaturas empleadas a la hora de programar generalmente, de esta forma podemos emplear ciertas palabras clave o palabras acortadas para obtener una salida mucho mayor o tediosa.

Este paquete no forma parte del propio GNU/Emacs, por lo que se debe descargar el script. el y cargarlo en nuestro .emacs. Podeis descargar dicho script en:

http://www.emacswiki.org/emacs/msf-abbrev.el

Si por ejemplo colocamos dicho script en ~/.emacs.d/lisp deberiamos colocar en nuestro .emacs lo siguiente:

;; msf-abbrev configuration
(add-to-list ‘load-path «~/.emacs.d/lisp»)
(require ‘msf-abbrev)
;; (setq msf-abbrev-verbose t) ;; optional
(setq msf-abbrev-root «~/.emacs.d/mode-abbrevs»)
(global-set-key (kbd «C-c l») ‘msf-abbrev-goto-root)
(global-set-key (kbd «C-c a») ‘msf-abbrev-define-new-abbrev-this-mode)

Una vez hecho esto podemos recargar nuestro fichero de configuracion .emacs, despues de ello, cuando queramos usar msf-abbrev debemos ejecutar M-x msf-abbrev-scan-modes y luego especificar en que modo queremos usarlo, por ejemplo c-mode.

Por ultimo aqui podemos ver una demo de msf-abbrev (que fue eliminada del unico sitio el cual parece ser donde estaba, por lo que todas las referencias directamente no funcionan. Por suerte tenia una copia de esta demo en local, ya que acostumbro a guardarlo absolutamente todo). Sin mas dilacion os dejo con la demo (recargad la pagina para verla desde el principio):

msf-abbrev demo en GNU/Emacs


Ene 20 2011

Doc-view : ver pdf desde emacs

Tag: basicoverdrive @ 6:57 pm

En el articulo anterior explicabamos como instalar, configurar y manejar minimamente AUCTeX (obviamente AuCTeX es mucho mas extenso e interesante de lo que mostramos en dicho articulo, pero ahora el usuario ya tiene la capacidad de indagar y ese empujoncito que a veces necesita para tener ese interes).

Este articulo es en parte, un complemento del anterior, pero que he decidido separar debido a que es otro paquete diferente al anterior, tambien externo a emacs y que busca otro proposito; el de poder ver o cargar pdf en emacs. Para ello, podemos tomar el ejemplo del texto anterior y generar asi un pdf o cargar un pdf cualquiera (aprovecho para promocionar el R5RS e invito a cargarlo en nuestro emacs -de paso de su lectura-).

Una vez tengamos nuestro fichero pdf en nuestro sistema. Pasamos a descargar y configurar el paquete (no es mas que uno o dos ficheros elisp cortesia de Tassilo Horn) que nos permitira cargar y visualizar pdfs en emacs: doc-view.

Los pasos que debemos seguir son muy simples:

Prerequisitos:

  • Instalar xpdf:
    • # apt-get install xpdf
  • Instalar ghostscript:
    • # apt-get install ghostscript

Descarga y configuracion de doc-view:

Esto lo podemos poner en un directorio cualquiera de nuestro sistema, en mi caso no me complique mucho para el articulo y cree uno en mi $HOME llamado docview donde meti ahi los ficheros .el. Luego simplemente debeis incluir las siguientes lineas en vuestro .emacs para cargar el nuevo path donde se encuentren esos scripts elisp:

(add-to-list ‘load-path «~/docview/»)
(require ‘doc-view)
(require ‘doc-view-extension)

Luego tan solo debemos abrir emacs o recagar el .emacs con la vieja tecnica de M-x load-path y cargar el propio fichero de configuracion. Abrir nuestro fichero fichero y simplemente cargar el preview con M-x doc-view-mode. Y voila! aqui tenemos el resultado:

Ejemplo de emacs con doc-view visualizando un pdf

Nota: Podemos incluir en nuestro .emacs que cada vez que carguemos un fichero pdf automaticamente cargue el modo doc-view-mode y evitar tener que realizar este paso cada vez:

(setq auto-mode-alist
‘((“\\.pdf$” . doc-view-mode)))

Existen algunos problemas que me han surgido por despiste:

Trobleshooting

En un principio, la primera vez que configure doc-view, solo anadi el load-path, sin embargo olvide el require del doc-view, lo que no evita que podamos cargar y leer pdfs, sin embargo aparece una especie de refresco horizontal de pantalla sobre la ventana donde es cargado el pdf. Esto es precisamente por la falta de este require, asi que si os ocurre ya sabeis que es por la ausencia de esa linea.

Por otra parte he visto ese mismo comportamiento algunas otras veces al cargar algunos pdf, desconozco realmente por que ocurre, sin embargo perdiendo el foco de la propia ventana y volviendolo a colocar en emacs (hacer click en otra ventana y luego en la de emacs de nuevo), el problema se solventa (ya que sino puede hacer la lectura bastante molesta; intentare informar de esto a Tassilo; el creador de este script. Para ver si es un problema de versiones, etc.) de momento os dejo este workaround, para salir del paso.

Nota importante: Desde la version 23.1 doc-view esta incluido en GNU/Emacs y no es necesaria esta configuracion a menos que se use una version anterior. En Emacs 24, doc-view soporta zoom real por lo que +/- no llamara desencadenara la reconversion del documento completo.


« Página anteriorPágina siguiente »