Burnhack
Desconectado
Mensajes: 489
Hackers always fight
|
Este es un mini tuto , de como manejar el "Vi", es un simple editor de texto , que permite guardar , modificar , copiar...con el buffer. Como estoy empezando a programar scripts de linux, y aun me cuesta moverme por este editor jeje, que mejor que aprenderse los comandos a fuerza de escribirlos.
Vi Originalmente escrito por Bill Joy en 1976, tomando recursos de ed y ex, dos editores de texto deficientes para Unix, que trataban de crear y editar archivos, de ahí, la creación de vi. Es el editor por excelencia de Unix creo yo, y bueno voy a poneros unas referencias de como manejarlo un poco.
Modos Vi tiene dos modos: el modo inserción y el modo comando. El editor comienza en modo comando, en el cuál puedes tanto mover el cursor como borrar y pegar texto. El modo inserción comienza introduciendo un comando de inserción o modificadode texto. [ESC] devuelve al editor a modo comando (desde el que te puedes salir por ejemplo tecleando :q!). La mayoría de los comando se ejecutan tan pronto como los tecleas a excepción de los comandos "dos puntos" los cuales se ejecutan cuando pulsas la tecla RETURN.
Salir Salir, guardando los cambios :x Salir, (si no se han realizado cambios) :q Salir, (fuerza, aunque no se haya salvado) :q!
Inserción de texto Insertar antes del cursor, antes de la línea i , I Añadir despues del cursor, al final de la línea a , A Añadir una linea por debajo, por encima o , O Remplazar un caracter, muchos caracteres r, R
Moverse Izquierda, abajo, arriba, derecha h, j, k, l Siguiente palabra, palabra delimitada por blanco w, W Principio de palabra, de palabra delimitada por blanco b, B Final de palabra, de palabra delimitada por blanco e, E Sentencia hacia atras, sentencia hacia adelante ( , ) Parrafo hacia atras, hacia adelante { , } Principio , al final de la linea 0 , $ Principio , al final del fichero 1G, G Linea n nG o :n Hacia atras, hacia delante hasta el caracter c fc, Fc Parte superior, media y baja de la pantalla H, M, L
Borrar Texto Casi todos los comandos de borrado se realizan tecleando d seguido de un comando de movimiento. Por ejemplo dw borra una palabra. Otros pocos comandos son:
Caracter de la derecha, de la izquierda x, X Hasta el final de la linea D Linea dd Linea :d
Pegar Texto Al igual que el borrado , casi todos los comandos de pegado se realizan tecleando y seguido de un comando de movimiento. Por ejemplo, y$ oega hasta el final de la linea. Otros dos comandos de pegado son:
Linea yy Linea :y
Cambiar texto El comando de cambio es un comando de borrado que deja al editor en modo insercion. Se realiza tecleando c seguido de un comando de movimiento. Por ejemplo cw cambia una palabra. Otros comandos de cambio son:
Hasta el fina de la línea C Linea cc
Pegar texto
Pegar despues de la posicion o despues de la linea p Pegar antes de la posicion o antes de la linea p
Buffers Se puede especificar el nombre de un buffer antes de cualquier borrado, cambio, copiado o pegado. El prefijo general tiene la forma "c donde c podria ser cualquier letra minuscula. Por ejemplo, "adw borra una palabra y la guarda en el buffer a. Podría ser esta palabra devuelta al texto con un comando de pegado adecuada, por ejemplo "ap
Marcas Las marcas nominales pueden ser colocadas sobre cualquier linea del fichero. Cualquier letra minuscula puede ser el nombre de una marca. Las marcas podrian tambien ser utilizadas como limites para rangos
Poner la marca c en esta linea mc Ir a la marca c `c Ir al primer caracter no blanco de la marca c ´c
Busqueda de Cadenas Buscar hacia delante /cadena Buscar hacia atras ?cadena Repetir la busqueda en la misma, distinta direccion n, N
Remplazar La funcion de busqueda y remplazamiento se realiza con el comando :s. Se usa normalmente en combinacion con rangos o el comando :g (mas abajo)
Remplaza patrón con cadena :s/patrón/cadena/opción Opciones: varias en la misma linea, confirmacion g, c Repetir el ultimo comando :s &
Expresiones Regulares Cualquier caracter unico excepto el salto de linea . (punto) Cero o mas repeticiones * Cualquier caracter del conjunto [...] Cualquier caracter que no sea el conjunto [^...] Principio, final de la linea ^ , $ Principio, final de la palabra \< , \> Agrupacion \(...\) Contenido del agrupamiento n \n
Numeros Casi todos los comandos pueden ser precedidos por un numero que especifica cuantas veces va a ser realizado . Por ejemplo 5dw borrara 5 palabras y 3fe movera el cursor hacia delante hasta la tercera ocurrencia de la letra e . Incluso las inserciones pueden ser repetidas de forma conveniente con este metodo, pudiendose insertar la misma linea 100 veces.
Rangos Los rangos pueden preceder a la mayoria de los comandos "dos puntos" y hacer que dichos comandos se ejecuten sobre un intervalo de lineas de la 3 a la 7. Los rangos son combinados frecuentemente con el comando :s para realizar una substitucion en varios lineas, como :.,$s/patron/cadena/g para hacer una substitucion desde la linea actual hasta el final del fichero
Lineas de la n a la m (ambas inclusive) :n, m Linea actual :. Ultima linea :$ Marcador c :´c Todas las lineas del fichero :% Todas las lineas que encajen con el patron :g/patron/
Ficheros
Escribir a fichero (el actual si no se especifica fichero) :w fichero Leer el fichero despues de la linea actual :r fichero Siguiente fichero :n Fichero anterior :p Editar fichero :e fichero Remplazar la linea con la salida del programa !!programa
Otros
Cambiar entre mayusculas y minusculas - Unir lineas J Repetir el ultimo comando de cambio de texto . Deshacer el ultimo cambio, de la linea actual u , U
Saludos
|