sábado, 16 de abril de 2016

EDITOR DE TEXTO VI



Comandos Batch

Un archivo batch (o bat) es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensión *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas.

Cualquier comando DOS puede ser utilizado en un archivo batch. Tienes también varios comandos especiales para este tipo de archivos:

CALL

Este comando realiza, desde un archivo batch, una llamada a la ejecución de otro archivo batch. El primer archivo no finaliza su ejecución al realizar la llamada.

CALL [unidad_disco:][path]nombre_archivo [parametros]

Donde [unidad_disco:][path]nombre_archivo es la ruta al archivo batch llamado (debe ser un archivo *.bat) y [parametros] puede ser cualquier tipo de información que necesite el programa llamado que pueda pasarse el línea de comandos.

CHOICE

Ofrece al usuario una entrada de datos para que pueda escoger una opción (escoger una de las letras que se le ofrecen), y espera hasta que esta tenga lugar.

CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto]

Parametros

texto

Puedes especificar un texto que aparecerá antes de la entrada de datos. No hace falta que lo entrecomilles, salvo que dicha cadena de texto incluya una barra /. Es un parámetro opcional.

Modificadores

/C[:]letra

Especifica las letras que indicarán las opciones del usuario. Si las especificas separadas por comas, apareceran entre corchetes seguidas de un interrogante. Si no se especifican, se usara YN (si, no) por defecto.

/N

Evita que se muestre el prompt de usuario

/S

Hace que discrimine entre entrada de letras mayusculas o minusculas.

/T[:]c,nn

Introduce un tiempo de espera antes de ejecutar la acción por defecto. Con los siguientes posibles valores:

c

Señala que carácter será usado como opción por defecto despues de nn segundos. Solo puedes indicar uno de los carácteres especificados con el modificador /C

nn

Indica el numero de segundos de pausa. Valores entre 0 y 99.

ECHO

Activa o desactiva el volcado de texto del programa (output) a la pantalla:

ECHO [ON|OFF] echo [mensaje] Parametros

ON|OFF

Activa o desactiva el volcado de texto. Para conocer el estado actual, usar ECHO sin parámetros.

Mensaje

El texto a mostrar.

FOR

Ejecuta un comando sobre un grupo de archivos. Puede utilizarse en la línea de comandos o en un archivo bat:

a) en archivos BAT:

FOR %%variable IN (set) DO command [command-parameters]

b) en línea de comandos:

FOR %variable IN (set) DO command [command-parameters]

Parametros

%%variable %variable

Representa una variable que será reemplazada por su valor. FOR reemplazará %%variable o %variable con la cadena de carácteres especificados en SET hasta que el comando especificado se haya ejecutado sobre todos los archivos. %%variable se emplea con FOR dentro de archivos batch, y %variable desde la linea de comandos.

(set)

especifica uno o mas archivos de texto (o cadenas) que se procesaran con el comando. Necesita paréntesis.

command

El comando que debe ejecutarse sobre cada archivo especificado en SET

parámetros de comando

Podemos emplear el comando con cualquiera de sus parámetros habituales.

GOTO

Salta la ejecución del programa hacia la linea indicada:

GOTO label

Donde :Label (advierte los dos puntos) es una etiqueta que identifica la linea. 8 caracteres máximo.

IF

Permite la ejecución condicional.

sintaxis:

IF [NOT] ERRORLEVEL numero comando

IF [NOT] string1==string2 comando

IF [NOT] EXIST nombre_archivo comando

Parámetros:

NOT

El comando sujeto a condicion se ejecuta solo si esta es falsa.

ERRORLEVEL numero

La condición es verdadera solo si el comando anterior devuelve un código de salida igual o mayor que el especificado

command

Especifica el comando a ejecutar si la condición se cumple

string1==string2

La condición se cumple solo si cadena1 es igual a cadena2. Cadena1 y cadena2 pueden ser cadenas de texto o variables.

EXIST nombre_archivo

La condición se cumple si existe nombre_archivo.

PAUSE
Vi es el editor de texto más utilizado en el mundo GNU/Linux.
Conocer Vi nos va a resultar de mucha utilidad ya que es el editor de textos
predeteminado en este sistema operativo.
Podemos usar una versión gráfica de este editor que se llama gvim.
Aquí no hay que preocuparse por el formato porque simplemente no tiene, lo único
que tenemos que hacer es preocuparnos por escribir. Es muy rápido y permite insertar
la salida de los comandos directamente en el texto, así como también nos permite
abrir archivos muy grandes (estoy hablando de varios gigas).
Básicamente el vi trabaja en dos modos que son:
a) Inserción.
b) Comandos.
a) Modo insersión: Simplemente escribimos o sobreescribimos.
A este modo se lo accede simplemente presionando la tecla o la letra "i". Si
presionamos la tecla otra vez podemos pasar al modo reemplazar
(sobreescribimos).
Si miran para abajo de la pantalla les va a aparecer el modo en el cual están
trabajando.
b) Para pasar al modo comandos vamos a tener que presionar la tecla , en
este modo podemos hacer las cosas que estamos acostubrados a hacer a diario,
guardar, guardar como, copiar líneas, copiar palabras, etc...
Comandos para iniciar el vi
ex Inicia el vi en modo comando.
vi Comando para invocar al editor, seguido de un nombre de archivo (precedido
o no de un path) sirve para abrir un archivo ya existente o generar un archivo nuevo
con este nombre.
view Equivalente a vi –r, abre el archivo en modo sólo lectura, evita que
modifiquemos el texto, es ideal para visualizar.
vim Una variante ideal para programadores.
Comandos para cambiar de modo en el vi
EscPasa a modo comando.
i Pasa a modo inserción, es equivalente a la techa “insert”, entra en modo
insertar, si lo ejecuto otra vez pasa a modo sobreescribir.
Operar desde el modo inserción
:! Permite ejecutar un comando pe. :! ls / ejecuta el
comando ls sobre el directorio raiz.
:!! Muestra el resultado de un comando.
:cw Cambiar palabra.
:e! Regresa a la última versión grabada del archivo que estamos
editando.

:q Salir sin grabar, si no nos deja ejecutar q!, obliga a salir sin grabar.
: set nu Habilita los números de líneas, es muy útil si estamos buscando
errores de compilación en un archivo de texto.
: no nu Deshabilita la numeración de líneas.
:w Grabar y seguir en modo edición.
Seguido de un espacio y nombre de archivo (con o sin path), genera un nuevo archivo
con este nombre (es el equivalente de grabar como.
Debemos tener en cuenta que estamos si bien grabamos con un nuevo nombre
seguimos editando el archivo con el nombre original.
Si queremos pasar a editar el nuevo archivo debemos ejecutar :e –
nombre del archivo- y entonces estaremos en el nuevo archivo grabado.
:w! Obliga a grabar aunque el archivo sea de sólo lectura (ojo).
Shift zz Salir grabando, es equivalente a :x.
/ A continuación de la barra introducir una cadena de caracteres.
Al oprimir Enter buscará la primera coincidencia en el archivo.
Si queremos seguir buscando lo mismo, basta con oprimir n (next)
Si queremos buscar un caracter especial debemos colocarlo entre comillas pe.
/”/” busca las barras.
Movimientos del cursor
0 (cero), al principio de la línea (no de la pantalla, sino hasta el primer
retorno de carro)
$ al final de la línea (no de la pantalla, sino hasta antes del último
retorno de carro)
a agregar después del cursor (escribe hacia la izquierda)
b palabra anterior
8b al final de la octava palabra precedente
Shift g al final del archivo
1g al principio del archivo
gg idem anterior
1↑g idem anterior
13 g a la línea trece
20↑g lleva 20 líneas hacia arriba
20$g lleva 20 líneas hacia abajo
Acciones
c cambiar
cc cambiar la línea completa
cw cambiar hasta el final de la palabra
c2w cambiar hasta el final de la segunda palabra

c$ cambiar hasta el final de la línea
c0 cambiar hasta el comienzo de la línea
d borrar
dd cortar
d10d corta las diez líneas siguientes
dd10 idem anterior
h un espacio a la izquierda
2h dos espacios a la izquierda
j una línea abajo
3j tres líneas abajo
k una línea arriba
5k cinco líneas arriba
l un espacio a la derecha
7l siete espacios a la derecha
p pegar
u deshacer
v pasa al modo visual (seleccionar, iluminar)
w siguiente palabra
8w al comienzo de la octava palabra que sigue
y copiar
yy copiar la línea
y10y copia las diez líneas siguientes
Ejemplos
g a la última línea
v inicia modo selección
gg selecciona hasta la primera línea
d borra todo lo seleccionado (es decir todo el archivo
Si hubiesemos utilizado en lugar de d la letra y hubieramos enviado una copia al
portapapeles, luego con p la pegamos donde queremos.
.! touch /tmp/prueba.txt crea el archivo prueba.txt en el directorio /tmp y lo
edita.
Comandos más comunes
Archivo Guardar: :w
Guardar como: :w edicion2.txt.
Guardar y salir: (hay tres formas):

1) :x sale y guarda (la x tiene que ser minúscula, sino puede ser una clave
de archivo)
2) :wq!
3) shift ZZ
Si abrimos un archivo por error y no queremos guardar:
Salir sin guardar: :q! Sale o Sale
Copiar y pegar
Copiar una línea: yy (sin el dos puntos)
Presionamos insert, enter, enter, enter, y luego para pegar colocamos:
Pegar una línea: p
Copiar varias líneas: y3y (copio 3 lineas).
Pegar: p
Cortar: varias líneas d3d (corto 3 lineas).
Pegar: p
Ir a la línea nº1: 1, shift+g (presionar después 1 y dos teclas
simultáneamente g)
Ir a la última línea: shift+g.
Ir a una línea en particular, vamos a la primera y luego ,18, +g
Para ver los números de línea:
:set nu (pone los números).
: set nonu (los saca).
Para deshacer un cambio: u
Copiar una palabra: v (pasamos al modo visual) depués con las flechas de
dirección pintar la palabra cuando la hallamos pintado presionar "y" cuando la
querramos pegar p
v, (pintar)y p
Cortar una palabra: v (pasamos al modo visual) depués con las flechas de
dirección pintar la palabra cuando la hallamos pintado presionar "d" cuando la
querramos pegar p
v,(pintar)y, p
Nota: tocando el punto (.) ejecuta siempre el último comando.
¿Cómo abrir otro archivo?
:w guardo el archivo en el que estoy.
:e
¿Cómo dividir la pantalla (pe. para editar dos archivos al mismo tiempo)?
Estamos parados en un archivo y queremos abrir otro.
Presionamos Ctrl+w soltamos y presionamos s, allí la pantalla se divide en dos. Si no
soltamos rápidamente la máquina se cuelga. El archivo de divide:

:e
CTRL+W soltamos y presionamos. Flecha abajo o flecha arriba para
movernos entre uno y otro.
Nos permite ejecutar un comando sin salir, lo hace mientras estoy trabajando, de
manera temporal.
Por ejemplo::! ls /
Esto lo pone sobre el vi, y al presionar enter se va.
!! ls / (escape sin los dos puntos se inserta la salida del comando dentro
del archivo en el cual estoy).
ATENCION: si hay más de un usuario usando el vi, con el mismo archivo, el vi
genera un archivo oculto: nombrearchivo.txt.swp (es un archivo temporal), que si
lo borran, borran todo lo del otro.
Vi, es el editor que va a estar en TODAS las distribuciones de GNU/Linux saberlo les
da la seguridad de desenvolverse sin problemas en cualquier equipo y en cualquier
distribución.
Suspende la ejecución de comandos y presenta un mensaje para que el usuario presione una tecla para continuar

REM

Línea de comentario. Podemos usar REM O ::

SHIFT

Alterna la posición de los parámetros en el archivo bat.

Variables

El signo % seguido de un numero (del 1 al 9) permite pasar parámetros al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la linea echo Hola %1, si lo invocamos tecleando archivo.bat pepe presentará en pantalla Hola Pepe. Se usa por ejemplo para pasar nombres de ficheros a un bat que se encarga de borrarlos, moverlos, etc.

No hay comentarios.: