sábado, 11 de octubre de 2008

Editor VIM : Algunos SET Importantes

Aqui algunos Seteos del Editor VIM, pueden ser de mucha ayuda.

set nocompatible Añadiendo en nuestro fichero vimrc la opción ”set nocompatible”, hacemos que VIM permita utilizar funciones extras que no están disponibles en el VI clásico y tradicional. Seria importante que la tengan definida en el .vimrc. Utilizar ”set compatible” u omitir esta opción hará que algunas de las mejores funcionalidades de VIM no estén disponibles, para preservar la compatibilidad con VI.

set autoindent Esta función (también puede utilizarse ”set ai”), hace que cuando pulsemos enter en un fichero de texto, la nueva línea que insertamos sea indentada automáticamente (es decir, se inserten espacios al principio de la misma y el cursor se posicione en una determinada posición). Esto puede servir, por ejemplo, para programar: si estamos escribiendo un bloque de código indentado a 3 espacios (por ejemplo), al pulsar enter no empezaremos en el primer carácter sino que automáticamente se nos situará el cursor en la columna 3. Literalmente, lo que hace VIM es que cuando pulsamos Enter, indenta la nueva línea a la misma profundidad que la anterior.

set noai Esta función hace lo contrario de ”set autoindent”, es decir, cuando pulsemos Enter iremos directamente al primer carácter de la siguiente línea. Esta función resulta muy útil cuando estamos editando código indentado y queremos, por ejemplo, pegar texto o código desde una selección de texto externa (copiar y pegar desde un navegador, otro editor, etc.). Como el texto que pegamos ya está indentado, no necesitamos que Vim lo indente añadiendo espacios. Si lo pegáramos tal cual, veríamos como la indentación original sumada a la identación automática de Vim haría que no se respetara el indentado real del texto. Para evitar esto, podemos pulsar ESC (pasar a modo comando), y teclear ”:set noai”, y pegar el texto externo (que se pegará bien). Después podemos volver al modo de identación con ESC y ”:set ai”.

set backup Si está activada esta opción, cada vez que grabemos el fichero se almacenará una copia de la ”versión” anterior como fichero~ (con el carácter ’~’ detrás).

set nobackup Esto sirve para lo contrario que ”set backup”, es decir, para deshabilitar la generación de ficheros de backup.

set ruler Con ”set ruler”, VIM muestra la posición X,Y actual del cursor en la barra de estado.
set wrap Activa el ”cortado” de líneas largas en pantalla: si tenemos activada esta opción y una línea es más larga (de ancho) que lo que podemos ver en nuestra ventana del editor, VIM la partirá (visualmente). Si no la tenemos activada, simplemente sólo podremos ver desde el inicio de la línea hasta lo que nos permita la ventana del editor o la terminal (pero no partirá la línea).
set nowrap Las líneas que no caben en pantalla no serán visualmente partidas (lo contrario de set wrap).

set incsearch Habilita la búsqueda incremental: esto implica que cuando hacemos búsquedas con el comando ”/”, Vim no esperará a que pulsemos ENTER para comenzar la búsqueda. VIM irá buscando las palabras conforme vayamos tecleando sus diferentes letras.

set hlsearch Habilita el coloreado de las palabras encontradas en las búsquedas, en un color diferente del color del texto.

set tabstop y set sw Estas 2 opciones permiten definir el tamaño (en espacios) de los tabuladores (por defecto suelen ser 8). Un ejemplo de uso sería ”set tabstop=3” y ”set sw=3”.

set expandtap Convertir todos los tabuladores en espacios: ideal para los que, como yo, detestan los tabuladores y prefiráis los espacios para tabular. Junto a las 2 opciones anteriores, cuando pulséis ”TAB” no se introducirá un carácter tabulador sino el número de espacios prefijados.

set noerrobells Evitar que Vim ”pite” en caso de error.

syntax on Como ya hemos visto, activa el coloreado de sintaxis (si VIM entiende el formato del fichero que editamos). La orden que lo desactiva sería ”syntax off”.

Para ver un excelente Manual clic aqui.

Continúa...

viernes, 10 de octubre de 2008

Como Crear o Quemar una Imagen ISO

Normalmente siempre es un problema Quemar las Imagenes ISO, necesitas algun software de pago y medio complicado de utilizar, un poco por necesidad y por casualidad encontre un Software bastante intuitivo y sencillo de utilizar, ademas de la simpleza con la que se instala.

Si deseas bajarlo da clic aqui.;

Hay versiones para Windows XP, 2003 y Vista; lo he utilizado en este ultimo y resulta muy sencillo.

No se olviden es Free para uso personal.

Luego de instalar su uso es sencillo:

1.- Clic derecho sobre el archivo ISO.

2.- Seleccionar "Copiar imagen a CD".

3.- quemar la ISO.

Continúa...

lunes, 6 de octubre de 2008

Error en el Return Next

Error al Ejecutar Funcion en plpgsql, como aso curioso me ocurrio este error:

ERROR: se llama una funcion que retorna un conjunto en un contexto que no puede aceptarlo
CONTEXT: PL/pgSQL function "get_record_cadenas" line 7 at return next

Lamentablemente no encontre la solucion facilmente, aqui un ejemplo de una funcion, el error y la solucion:


CREATE OR REPLACE FUNCTION maestros.get_record_cadenas(campod bpchar, tabla bpchar, campof bpchar, cadena bpchar)
RETURNS SETOF record AS
$BODY$
declare
record1 record;
begin
--*
FOR record1 IN execute 'select ' || $1 || ' from ' || $2 || ' where position(' || $3 || ' in ' || quote_literal($4) || ') > 0' LOOP
return next record1;
end loop;
return;
end
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Al llamar a la funcion de esta forma:

select maestros.get_record_cadenas('usu_nombre', 'maestros.usuarios', 'usu_codigo', '003--*--GERENCIA')

Me arrojaba el error arriba indicado en rojo.

La solucion resulta bastante simple:

select * from maestros.get_record_cadenas('nombres', 'clientes', 'codigo', 'valor1*valor2*valor3') as (usuario varchar);

Continúa...