Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/webcindario/o/s/osmes/web/common.php on line 135
Gigaset HD795T :: Curso básico de vi
Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Curso básico de vi
Autor Mensaje
Responder citando Descargar mensaje
Mensaje Curso básico de vi 
 
Por Carva:

El vi es uno de los editores de texto mas usado en linux.

Hay que pensar que es un editor muy antiguo, y que se usa en modo consola, es decir, sin interface gráfica tipo Windows, por lo tanto, no puede tener menús, ni barras de herramientas, ni puede usar el ratón, etc. etc.

El hecho de que sea muy antiguo no quiere decir poco potente, de hecho le da cien vueltas a muchísimos editores de Windows, y por supuesto al Notepad. Una vez que se conocen algunos de sus potentes comandos, nos daremos cuenta de la cantidad inmensa de posibilidades que tienen.

Esta guia está basada en la referencia que aparece en esta página:
http://www.pantz.org/software/vi/vireference.html

Presta especial atención a mayúsculas y minúsculas y usa los comandos como aparecen aquí.

Para manejarlo bien, hay que realizar tres fases fundamentales:
1) Usarlo
2) Usarlo
3) Usarlo

Bueno, pues usémoslo!

Lo primero y MUY IMPORTANTE, esto hay que saberlo y tenerlo en cuenta siempre
Como en vi no tenemos menús, ni interface gráfica, ni ratón, tenemos que tener un modo de ejecutar las órdenes.
Las órdenes son letras, símbolos y combinaciones, pero en un editor de texto lo que hacemos básicamente es teclear letras, símbolos y combinaciones, entonces ¿cómo hacemos para ejecutar comandos unas veces y teclear texto otras?

Muy sencillo

En vi hay DOS modos de funcionamiento y pasaremos constantemente de un modo a otro, de ahí la importancia de tener muy claro esto.
Los modos son:
1) Modo Comando
2) Modo Texto (Inserción o entrada de texto)

¿Hay que explicarlo?

1) Modo Comando: Este es el estado inicial de vi, en este modo la mayoría de los comandos que teclees no se muestran, sino que se ejecutan. Sólo los comandos precedidos de los caracteres : , / o ! se mostrarán en la linea de status (la linea inferior). Use <Esc> para cambiar de modo texto a modo comando (si tienes dudas, pulsa <Esc>).

2) Modo Texto: En este modo se entra pulsando a, A, i, I, o, ó O (veremos estos comandos mas adelante). Pulsa <Esc> para terminar el modo texto y volver al modo comando.


Abriendo, grabando y abandonando ficheros
vi nombrefichero Abre (edita) el fichero especificado
:w Escribe el fichero y continua en el vi (w=write)
:wq Escribe el fichero y termina el vi saliendo al prompt del sistema (w=write, q=quit)
ZZ Lo mismo que el anterior, pero mas directo (son 2 Z mayúsculas). Escribe el fichero y termina el vi saliendo al prompt del sistema.
:q Sale del fichero si no hemos realizado cambios, ideal para "mirar"
:q! Descarta todos los cambios que hemos hecho y abandonamos el fichero dejándolo como estaba, sale al prompt del sistema.

Insertando texto
Estos comandos pasan de modo comando a modo texto, por lo tanto son los mas usados para comenzar a teclear
a (Añadir) comienza la inserción a la derecha del cursor
A (Añadir) comienza la inserción al final de la línea actual
i (Insertar) comienza la inserción a la izquierda del cursor
I (Insertar) comienza la inserción al principio de la línea
o (Abrir) abre una línea en blanco lista para teclear, por debajo de la actual
O (Abrir) abre una línea en blanco lista para teclear, por encima de la actual

Copiar, Pegar, Borrar, Deshacer
dw Borra una palabra al buffer (portapapeles)
dd Borra una línea al buffer (portapapeles)
yw Copia una palabra en el buffer (portapapeles). Yank = copiar al portapapeles
yy Copia una línea en el buffer (portapapeles). Yank = copiar al portapapeles
x Borra un caracter al buffer (portapapeles)
D Borra todos los caracteres desde el cursor hasta el final de la línea al buffer (portapapeles)

Si ponemos un número delante de estos (y otros) comandos, la acción se repite n veces, por ejemplo:
5dw Borra 5 palabras
6dd Borra 6 líneas
12yy Copia 12 líneas al buffer (portapapeles)
etc.

p Pone el contenido del buffer despues del cursor (p=Put)
P Pone el contenido del buffer antes del cursor (p=Put)
u Deshace el último cambio simple (Undo)
U Recupera la línea completa

Comandos útiles
0 (Cero) mueve el cursor al principio de la línea
$ (Dolar) mueve el cursor al final de la línea
. (Punto) repite el último comando.

Ejemplos:
5dd Borramos cinco líneas
. Borramos otras cinco líneas
. Borramos otras cinco líneas
. Borramos otras cinco líneas
0 Nos colocamos al principio de la línea
27x Borramos 27 caracteres
Flecha abajo y 0 (Cero) Nos colocamos al principio de la línea siguiente
. Borramos otros 27 caracteres
Flecha abajo y 0 (Cero) Nos colocamos al principio de la línea siguiente
. Borramos otros 27 caracteres
Flecha abajo y 0 (Cero) Nos colocamos al principio de la línea siguiente
. Borramos otros 27 caracteres

¿Veis como se pueden quitar los primeros 27 caracteres de un montón de líneas?
¿Como hariais esto con el Notepad de Windows?

Al principio es complicado, pero os animo a que probeis primero con ficheros de prueba, metiendo texto o copiando cualquier fichero y luego editandolo.

Ejemplo:

cd /usr/local/etc
cp rcS rcS.prueba
vi rcS.prueba


Con esto podeis probar y luego grabar, o salir sin grabar o lo que querais.

Gracias a Carva.
 





____________________
.

Reportar algún error, ya sea de descargas u otro motivo, gracias.


.
 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:   
Ocultar¿Este tema fue útil?
Compartir este tema
blinkslist.com blogmarks.net co.mments.com del.icio.us digg.com newsvine.com facebook.com fark.com feedmelinks.com furl.net google.com linkagogo.com ma.gnolia.com meneame.net netscape.com reddit.com shadows.com simpy.com slashdot.org smarking.com spurl.net stumbleupon.com technorati.com favorites.live.com yahoo.com DIGG ITA Fai Informazione KiPapa Ok Notizie Segnalo Bookmark IT
Enlazar este tema
URL
BBCode
HTML

Publicar nuevo tema  Responder al tema  Página 1 de 1
 




 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron