miércoles, 31 de julio de 2013

[Linux] El Editor VIM

[Linux] El Editor VIM


No es un editor muy sencillo de utilizar si no estamos acostumbrados, pero para hacernos mas facil la tarea, dejo una lista de comandos:


Comandos "vi" ("vim") de uso frecuente

(insert para escribir)

ESCAbandonar el modo de inclusión de texto para volver
al modo de comandos; también se usa para cancelar
comandos. (Usarlo en caso de duda)
Cntl-FAvanzar una pagina hacia adelante
Cntl-BAvanzar una pagina hacia atrás
Cntl-LRefrescar la pantalla
GCursor al final del fichero
1GCursor al principio del fichero
$Cursor al final de la linea
0 (cero)Cursor al principio de la linea
.
aAñadir texto a continuacion del cursor [TEXTO]
iInsertar texto en la posicion del cursor [TEXTO]
AAñadir texto al final de la linea [TEXTO]
IInsertar texto al principio de la linea [TEXTO]
oAñadir una linea debajo de la del cursor [TEXTO]
OAñadir una linea encima de la del cursor [TEXTO]
uDeshacer el último cambio realizado
:redRehace los cambios deshechos con ''u'' o '':u''
xBorrar un caracter (y ponerlo automaticamente en el ALMACEN)
DBorrar el resto de la linea (a la derecha del cursor)
dwBorrar una palabra (hasta el primer blanco a la dcha. del cursor)
ddBorrar la linea entera
8xBorrar 8 caracteres
2dwBorrar 2 palabras
7ddBorrar 7 lineas
pPoner el contenido del ALMACEN temporal a continuacion del cursor
PPoner el contenido del ALMACEN temporal antes del cursor
sSubstituir un caracter por texto [TEXTO]
15sSubstituir 15 caracteres por texto [TEXTO]
rSubstituir un solo caracter por otro nuevo, sin entar
en modo de TEXTO
RSobreescribir [TEXTO]
JUnir la linea del cursor y la siguiente
i[ENTER]Romper una linea en dos
.Repetir el último cambio realizado
yyPoner la linea presente en el almacen temporal
5yyPoner cinco lineas en el almacen
:wGuardar en el fichero que se esta editando los cambios realizados
(Aconsejable ejecuarlo de vez en cuando)
:w!Idem, forzandolo si fuese necesario.
:w FicheroGuardar en el fichero "Fichero"
:wqGuardar y salir de "vi".
:wq!Idem, forzandolo si fuese necesario.
NOTA: Cada vez que se borra texto, el texto borrado pasa a un ALMACEN temporal, de donde elimina lo que estuviese almacenado previamente.

.

:qSalir de "vi", si no se han realizado cambios desde
la última vez que se han salvado.
:q!Salir de "vi" en todo caso. No se guardan aquellos
cambios que no se hayan salvado.
:set nuVisualizar los numeros de las lineas
:set nonuOcultar los numeros de las lineas
+Ir a la linea siguiente
-Ir a la linea anterior
:+8Ir a la linea que esta 8 puestos más abajo
:-9Ir a la linea que esta 9 puestos más arriba
:6Ir a la linea numero 6
maMarcar la linea del cursor con la etiqueta 'a'.
(Sólo puede usarse una letra)
'aIr a la linea marcada con 'a".
:$Ir a la última linea del fichero, "$".
:P,U dBorrar las lineas entre P y U, ambas incluidas.
P y U son identificadores de lineas, es decir,
numeros de lineas o etiquetas. Ejemplos:
:6,'a d borrar las lineas entre la "6" y la 'a'
:'a,'b d borrar las lineas entre la 'a' y la "b"
:'a,$ d borrar las lineas desde 'a' hasta el final
:P,U w FicheroEscribir en el fichero "Fichero" las lineas
comprendidas entre P y U, ambas incluidas
:r FicheroLeer el contenido del fichero "Fichero" y ponerlo a
continuacion de la linea del cursor.

/texto/Buscar, hacia adelante, la aparicion de "texto".
?texto?Buscarlo hacia atras.
nContinuar la busqueda en la direccion elegida.
NContinuar la busqueda en la direccion opuesta.
/i.ad/ busca iXad, donde X es cualquier caracter
/i...ad/ busca iXXad, donde XX son dos
caracteres cualesquiera
:P,U s/texto viejo/texto nuevo/Substituir texto desde las lineas P a U; solo la
primera vez que aparezca en cada linea. Ejemplos:
:1,$ s/hola/adios/ substituir el primer "hola" de
cada linea del fichero por 'adios'
:P,U s/texto viejo/texto nuevo/gSubstituir texto desde las lineas P a U;
todas las veces que aparezca.
:'a,$ s/hola/adios/g substituir todos los "hola" por
'adios' desde la linea marcada 'a' hasta el final
:set icIgnorar mayusculas/minusculas en busquedas y
substituciones
:set noicNo ignorarlas
:set aiAuto-margen: cada nueva linea aparece con el mismo
margen que la linea anterior.
(Util cuando se escriben ficheros FORTRAN)
:set noaiNo auto-margen.
abb ABREV textoDefinicion de una abreviatura (ABREV en este caso)
para "texto"
$>>$Desplaza una linea hacia la derecha
5$>>$ Que hace esto ?
$ << $Desplaza una linea hacia la izquierda

No hay comentarios:

Publicar un comentario