Ago 21 2008

Dired

Tag: basicoverdrive @ 1:50 am

[Artículo bajo revisión – necesita ser mejor redactado]

Con C-x d lanzaremos dired seguido del directorio específico. Si no nos muestra los colores debemos añadir a nuestro .emacs:

(global-font-lock-mode t)

o bien ejecutar M-x font-lock-mode.

El modeline mostrará el tipo de orden, el cual podemos alterar pulsando s para ‘dired-sort-toggle-or-edit’ el cual ordena por creados y modificados. Existen otros comandos interesantes tales como:

  • n : ‘dired-next-line‘; se mueve al siguiente directorio.
  • p : ‘dired-previous-line‘; se mueve al directorio anterior.
  • v : ‘dired-view-file‘; muestra un fichero.
  • q : ‘quit-window‘; sale de la vista del fichero o de dired.
  • = : ‘dired-diff‘; busca las diferencias en la línea que se está editando. O bien busca las diferencias entre dos ficheros marcados por una región.
  • enter o e : ‘dired-find-file‘; edita un fichero.
  • f : ‘dired-advertised-find-file’; busca un fichero.
  • C-x b nombre_del_directorio : cambia al directorio especificado.
  • d : ‘dired-flag-file-deletion‘; marca el fichero como eliminación.
  • u : ‘dired-unmark‘; quita la marca.
  • x : ‘dired-do-flagged-delete‘; ejecuta la eliminación de ficheros.
  • C : ‘dired-do-copy‘; copia un fichero.
  • [n]C ; donde [n] es un número, copia los n siguientes ficheros.
  • R : ‘dired-do-rename‘; renombra un fichero.
  • m : ‘dired-mark‘; marca el fichero.
  • 3m ; marca los 3 siguientes ficheros.
  • %l : ‘dired-downcase‘; marca todos los ficheros para convertir a minúsculas.
  • %u : ‘dired-upcase‘; marca todos los ficheros para convertir a mayúsculas.
  • Z : ‘dired-do-compress‘; comprime o descomprime un fichero. 3mZ comprimiría los siguientes 3 ficheros.
  • (sin keystroke asociada) : ‘auto-compress-mode‘; comprime y descomprime todos los ficheros por defecto. Tambien se puede conseguir este efecto por defecto añadiendo (auto-compression-mode 1) en nuestro .emacs.
  • X comando o ! comando : ‘dired-do-shell-command‘; ejecuta un comando shell sobre un fichero. Por ejemplo !sort ordenaría el listado de ficheros actuales mientras que !sort * > foobar ordenaría todas las líneas del fichero actual.
  • g : ‘revert-buffer‘; refresca el listado actual.
  • *! o M-Del : ‘dired-unmark-all-files‘; desmarca todos los ficheros si se pulsa enter. Si se pulsa t cambia los ficheros marcados.
  • * * : ‘dired-mark-executables‘; marca todos los ejecutables. C-u * es su análogo.
  • * / : ‘dired-mark-directories‘; marca todos los directorios. C-u / es su análogo.
  • * @ : ‘dired-mark-symlinks‘; marca todos los enlaces simbolicos. C-u @ es su análogo.
  • * c : ‘dired-changed-marks‘; cambia las marcas para los ficheros especificados.
  • %m : marca los ficheros que siguen un patrón de expresión regular. Por ejemplo ^ch%m marcaría todos los ficheros que empiecen por ch.
  • %s : ‘dired-mark-files-containing-regexp‘; marca los ficheros que siguen un patrón de expresión regular. Por ejemplo ^ch%g
  • + : ‘dired-create-directory‘; crea un directorio.
  • Q : ‘dired-do-query-replace‘; pregunta antes de mover ficheros si existe en fichero en el directorio destino.
  • A : ‘dired-do-search‘; realiza una búsqueda siguiendo un atrón de expresión regular en los ficheros marcados.
  • B : ‘dired-do-byte-compile‘; compila un fichero.
  • D : ‘dired-do-delete‘; elimina un fichero de forma inmediata.
  • G : ‘dired-do-chgrp‘; cambia los permisos del grupo.
  • h : ‘describe-mode‘; ayuda de dired.
  • H : ‘dired-do-hardlink‘; crea un enlace duro.
  • i : ‘dired-maybe-insert-subdir‘; lista el subdirectorio actual.
  • k : ‘dired-do-kill-lines‘; elimina la línea mostrada (no borra el fichero).
  • L : ‘dired-do-load‘; carga un fichero.
  • M : ‘dired-do-chmod‘; cambia los permisos del fichero.
  • o : ‘dired-find-file-other-window‘; busca un fichero en la ventana actual.
  • C-o : ‘dired-display-file‘; busca un fichero y lo muestra en otra ventana.
  • O : ‘dired-do-chown‘; cambia el propietario de un fichero.
  • P : ‘dired-do-print‘; imprime un fichero.
  • Q : ‘dired-do-query-replace‘; hace reemplazo en los ficheros marcados.
  • S : ‘dired-do-symlink‘; crea un enlace simbólico.
  • s : ‘dired-sort-toggle-or-edit‘; ordena por fecha o por nombre.
  • t : ‘dired-toggle-marks‘; marca o desmarca un fichero.
  • w : ‘dired-copy-filename-as-kill‘; copia el fichero en el kill ring.
  • y : ‘dired-show-file-type‘; muestra información del fichero.
  • ~ : ‘dired-flag-backup-files‘; marca todos los ficheros de backup. C-u ~ es su análogo.
  • # : ‘dired-flag-auto-save-files‘; marca todos los ficheros de autoguardar. C-u # es su análogo.
  • & : ‘dired-flag-garbage-files‘; marca todos los ficheros de basura. C-u & es su análogo.
  • . : ‘dired-clean-directories‘ ; numera los flags de eliminación.
  • M-= : ‘dired-backup-diff‘; compara el fichero con su backup.
  • > : ‘dired-next-dirline‘; se mueve al siguiente directorio.
  • < : ‘dired-prev-dirline‘; se mueve al directorio anterior.
  • ^ : ‘dired-up-directory‘; se mueve al directorio padre.
  • $ : ‘dired-hide-subdir‘; oculta o muestra el directorio actual.
  • M-$ : ‘dired-hide-all‘; oculta o muestra todos los directorios.
  • C-M-n : ‘dired-next-subdir‘; se mueve al siguiente directorio si tiene subdirectorios con i.
  • C-M-p : ‘dired-prev-subdir‘; se mueve al directorio anterior si tiene subdirectorios con i.
  • C-M-u : ‘dired-tree-up‘; se mueve al directorio padre si tiene subdirectorios con i.
  • C-M-d : ‘dired-tree-down‘; se mueve al directorio hijo si tiene subdirectorios con i.
  • M-} : ‘dired-next-marked-file‘; se mueve al siguiente fichero marcado con * o D.
  • M-{ : ‘dired-prev-marked-file‘; se mueve al fichero anterior marcado con * o D.
  • %d : ‘dired-flag-files-regexp‘; marca los ficheros que sigan un patrón de expresión regular para eliminación.
  • %R : ‘dired-do-rename-regexp‘; nombra los ficheros que sigan un patrón de expresión regular.

Ago 21 2008

Shell

Tag: basicoverdrive @ 12:54 am

Podemos ejecutar comandos shell mediante M-! el cual mostrará su salida usando el buffer *Shell Command Output*. Tenemos otra alternativa si queremos ejecutar el comando tomando como entrada una región dada, mediante el uso del comando M-|.

Además C-u M-! nos permitirá ejecutar un comando y poner el resultado sobre esa misma región.

En el momento que deseemos ejecutar una cantidad ingente de comandos, podemos abrir un shell directamente mediante M-x shell. Desde este shell, podemos usar los siguientes keystrokes para tener un control mayor:

  • C-c C-v :’comint-kill-output’; oculta la salida de un comando.
  • C-c C-c : termina un comando en ejecución.
  • C-c C-z : termina un comando en ejecución.
  • C-c C-o : ‘comint-kill-output‘; sigue ejecutando el comando, pero oculta su salida.
  • C-c C-r : ‘comint-show-output‘; muestra la salida de un comando.
  • C-c C-e : ‘comint-show-maximum-output‘; muestra la salida de un comando con límite de buffer.
  • C-c C-p : se mueve al anterior comando de grupo.
  • C-c C-n : se mueve al siguiente comando de grupo.

Se puede redefinir la shell por defecto a usar añadiendo en nuestro .emacs dicha línea:

(setq shell-file-name «/bin/zsh»)

Existe otro problema, y es que si usamos el shell para conectar a ordenadores remotos, mostrará el password, si queremos que permanezca invisible debemos añadir esta línea a nuestro .emacs:

(add-hook ‘commit-output-filter-functions
‘comint-watch-for–password-prompt)


Ago 21 2008

Bookmarks

Tag: basicoverdrive @ 12:46 am

[Artículo bajo revisión – necesita ser mejor redactado]

En emacs podemos crear bookmarks y administrarlos mediante los siguientes comandos:

  • C-x r m : ‘bookmark-set‘; crea un bookmark.
  • C-x r b : ‘bookmark-jump‘; salta a un bookmark.
  • C-x r l : ‘bookmark-menu-list‘; lista todos los bookmarks en forma de lista.
  • (sin keystroke asociada) : ‘bookmark-rename‘; renombra un bookmark.
  • (sin keystroke asociada) : ‘bookmark-delete‘; elimina un bookmark.
  • (sin keystroke asociada) : ‘bookmark-save‘; guarda todos los bookmarks en un fichero alternativo.
  • (sin keystroke asociada) : ‘bookmark-insert‘; inserta el texto asociado a un bookmark.
  • (sin keystroke asociada) : ‘bookmark-write‘; guarda todos los bookmarks es un fichero especificado.
  • (sin keystroke asociada) : ‘bookmark-load‘; carga los bookmarks de un fichero especificado.
  • (sin keystroke asociada) : ‘bookmark-insert-location‘; inserta la ruta a asignar en la posición del cursor actual.

Al mostrar toda la lista de bookmarks mediante C-x r l, accederemos al buffer llamado *Bookmark List*, donde podemos realizar las siguientes acciones:

  • f o j : salta a un bookmark.
  • o : abre el bookmark en otra ventana sin mantener el cursor en la ventana actual.
  • C-o : abre el bookmark en otra ventana manteniendo el cursor en la ventana actual.
  • d o k : marca el bookmark para eliminación.
  • r : renombra el bookmark.
  • s : guarda todos los bookmarks listados.
  • m : marca los bookmarks para ser mostrados en múltiples ventanas.
  • v : muestra los bookmarks marcados por m. Si no hay ninguno marcado, muestra el actual.
  • t : marca/desmarca como mostrado.
  • w : muestra la dirección asociada al bookmark.
  • x : elimina los bookmarks marcado para eliminación.
  • u : desmarca un bookmark.
  • Del : desmarca un bookmark, si no está marcado, desmarca el anterior.
  • q : sale del listado de bookmarks.
  • n : se desplaza al siguiente bookmark.
  • p : se desplaza al bookmark anterior.
  • l : carga un fichero de bookmarks.
  • A : muestra todas las anotaciones.
  • a : muestra la anotación de bookmark actual.
  • e : edita o crea la anotación para el bookmark actual.