jueves, noviembre 22, 2012

Usar screen para tener ventanas divididas (regiones)

Actualmente multitud de personas utilizan entornos gráficos bajo Unix para realizar sus tareas. Sin embargo, muchos todavía usamos múltiples terminales de texto y herramientas en líneas de comando para realizar nuestro trabajo, puesto que con esta interfaz se puede ser muy productivo. Desde hace muchos años existe una utilidad que nos permitía tener ventanas bajo una interfaz basada en aplicaciones de terminal en modo texto que es GNU Screen.

Esta utilidad nos permite crear ventanas y navegar entre ellas. Dentro de cada ventana se ejecuta una shell donde vamos realizando nuestras tareas, todo en una terminal en modo texto. Además, se puede dejar la aplicación corriendo en segundo plano, pudiendo recuperar más tarde la sesión completa. Normalmente, la tecla de control (configurable) que utiliza screen para sus comandos es control-a , que voy a abreviar como C-a.

Una característica que tiene screen es el el uso de regiones, que permite mostrar más de una ventana en la terminal que se esté usando. Este funcionalidad es muy útil, por ejemplo, cuando se está conectado a un sistema remoto, se están ejecutando ciertas órdenes y queremos ver los ficheros de registro que se van generando. Si, esto se puede hacer usando varias conexiones contra el sistema remoto, pero con la ayuda de screen sólo se neceita una conexión y la utilidad.

Los comandos que nos permiten crear estas regiones son:

  • C-a S Divide una ventana en dos regiones
  • C-a X Elimina la región actual.
  • C-a <tab>Pasa a la siguiente región.
  • C-a C-cCrea una nueva ventana con un shell en la región actual.

Por ejemplo, tengamos la siguiente captura de pantalla:

Para llegar a esta configuración:


  1. Ejecutamos screen
  2. Dividimos la ventana actual en dos regiones: C-c S
  3. Pasamos a la región nueva: C-c <tab>
  4. Creamos una nueva ventana en la región con C-a C-c


Technorati Tags: ,

miércoles, noviembre 14, 2012

vim: Quickfix

Quickfix es un modo de funcionamiento del vim que permite acelerar el ciclo de edición, compilación, edición para aquellas personas que utilicen este editor para desarrollar.

Lo primero que hay que tener configurado es el comando :make, que ejecutará el programa especificado en la variable makeprg, que por defecto es make. La salida de dicho programa será almacenada en un fichero, el cual será posteriormente leído por vim cuando deseemos activar el modo quickfix. Para ello basta con usar el comando :copen, pudiéndose configurar el número de líneas que se desea que tenga la ventana. Para cerrar la ventana se puede hacer uso del comando :cclose. Para moverse de un error a otro, se puede uno ir a la ventana y usar los comandos para moverse entre líneas. Tener en cuenta que cada línea de la misma representa un error. Existen los comandos :cnext y :cprevius que permiten moverse por la lista de errores. Se puede ir a un error determinado con ayuda de :cc nr. La la lista asociada al modo de quickfix es única a todo el sistema. Hay que tener en cuenta que si nos movemos de un error a otro usando :cnext y :cprevius, si se ha modificado un buffet, es necesario usar '!' en el comando, es decir, :cnext! o :cprevius!. También si el foco está en la ventana quickfix, se puede mover con las teclas de desplazamiento de cursor a la línea donde este el error y pulsar enter, para que vim nos lleve directamente a la línea en el fichero con el error.

Como todo comando del vim, si éste está compilado con el soporte de autocomandos, se pueden usar éstos para adaptar el comportamiento de la ejecución de los mismos de acuerdos a nuestros intereses.

Directamente relacionado con el modo de quickfix, en vim toda ventana puede tener asociada una lista de localización, independiente de la lista de quickfix y que contiene una serie de posiciones dentro de un fichero. Los comandos para trabajar con la lista de localización puede consultarse en la documentación del vim



Technorati Tags: