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.

Ago 13 2008

buffers y ventanas avanzado

Tag: basicoverdrive @ 4:51 pm

En este artículo explicaremos de forma más profunda el uso de buffers y ventanas.

Podemos emplear otros comandos además de los explicados anteriormente para conseguir un mayor control sobre los buffers:

  • C-x -> : siguiente buffer.
  • C-x <- : buffer anterior.
  • M-x rename-buffer : renombra el buffer.
  • M-x kill-some-buffers : elimina los buffers marcados para eliminación.

En uno de los artículos anteriores explicabamos que es posible listar todos los buffers mediante C-x C-b, podemos ver en dicho listado un campo llamado CRM que puede tomar los siguientes valores:

  • . : mostrado.
  • * : modificado.
  • % : sólo lectura.
  • D : marcado para eliminación.
  • > : marcado para mostrar.
  • S : marcado para guardar.

En dicho buffer podemos realizar acciones tales como las siguientes:

  • n o flecha abajo : siguiente buffer de la lista.
  • p o flecha arriba : buffer anterior de la lista.
  • d o k : marcar buffer para eliminación.
  • ~ : marcar buffer como modificado.
  • % : marcar o desmarcar buffer como sólo lectura.
  • m : marcar buffer para ser mostrado.
  • u : desmarcar buffer.
  • Del : desmarcar buffer anterior.
  • f : reemplazar la lista de buffers por esta nueva lista de buffers.
  • o : reemplazar otra ventana con el buffer actual.
  • 1 : mostrar buffer en pantalla completa.
  • 2 : mostrar los siguientes 2 buffers en ventana horizontal.
  • v : mostrar los buffers marcados por m.
  • x : ejecutar comandos de marcado.
  • q : salir del listado de buffers.

También podemos tener un mejor control sobre las ventanas, las cuales estan asociadas a un buffer determinado:

  • C-x < : ‘scroll-left‘; mueve el scroll hacia la izquierda.
  • C-x > : ‘scroll-right‘; mueve el scroll hacia la derecha.
  • (sin keystroke asociada) : ‘shrink-window‘; reduce la ventana.
  • C-x ^ : ‘enlarge-window‘; amplia la ventana.
  • C-x } : ‘wider-frame‘; amplia el ancho del frame.
  • C-x { : ‘shrink-window-horizontally‘; reduce el ancho de la ventana.
  • C-u C-x ^ : amplia el ancho de la ventana actual.
  • C-x – : ‘shrink-window-if-larger-than-buffer‘; amplia la ventana si el buffer es más largo.
  • C-x + : ‘balance-windows‘; balancea las ventanas para que tengan el mismo tamaño.
  • C-M-v : ‘scroll-other-window‘; baja el scroll de la ventana opuesta.
  • C-x 4 f : ‘find-file-other-window‘; abre un fichero en la ventana opuesta.
  • C-x 4 b : ‘switch-to-buffer-other-window‘; asocia y/o muestra un buffer en la ventana opuesta.
  • (sin keystroke asociada) : ‘compare-windows‘; Compara ventanas mediante ediff.

La ventana opuesta sera la siguiente ventana en orden de izquierda a derecha y de arriba abajo.

Con esto ya podemos movernos de una forma avanzada las ventanas, así como administrar los buffers que tengamos en uso y ver sus estados.


« Página anteriorPágina siguiente »