Herramientas de usuario

Herramientas del sitio


otros:otros:howto:vi

¡Esta es una revisión vieja del documento!


VI\VIM

Uso general

Para entrar en modo de comandos apretaremos Esc en modo de inserción.

Comandos

:q! Salir sin guardar.
:wq Salir y guardar.
:w fichero.txt Guardar en el fichero llamado 'fichero.txt'
:w Guardar.
i Entrar en modo de inserción.
:77 Ir a la línia 77.
G Ir a la última línia.
dd Corta\Elimina la línia actual.
5dd Corta\Elimina 5 línias a partir de la línia actual.
p Pega en la línia anterior a la actual.
P Pega en la línia posterior a la actual.
u Deshace un cambio.
/perro Busca 'perro' posteriormente.
?perro Busca 'perro' anteriormente.
n Sigue la búsqueda.
N Da un paso atrás en la búsqueda.

Otros

Respuesta en StackOverflow

Mencionas cortar con yy y te quejas de que casi nunca quieres cortar líneas completas. En realidad los programadores, editando del código fuente, a menudo trabajan con líneas completas, rangos de líneas y bloques de código. Aún así, yy es una de las muchas formas de trasladar texto al buffer de copia anónimo (o, tal y como se llama en vi, registro).

La esencia de vi es que es un lenguaje. La primera y es un verbo. La sentencia yy es una sentencia simple la cual es una abreviación para 0y$.

  1. 0 ir al inicio de línea.
  2. y recoge el texto desde aquí hasta…
  3. $ hasta el final de esta línea.

Esto puede ser expresado como ddP (elimina la lína actual y copiala en un lugar nuevo, dejando una copia en el registro. La y y la d son vebos que realizan la acción indicada por el sujeto. Entonces yW significa “recoge de aquí (posición del cursor) hasta el final de la palabra actual” y y'a es “recoge desde aquí hasta la línia marcada como 'a”.

Si sólo entiendes lo básico, los movimientos arriba, abajo, derecha e izquierda entondes vi no será más que una copia del notepad. Vale, aún tienes el fortao de sintaxis y la abilidad de manejar ficheros de más de 45kb.

vi tiene 26 marcas y 26 registros. Una marca se asigna a cualquier posición del cursor con m. Cada marca está definida por una letra minuscula. Por lo que ma asigna la marca 'a' a la posición actual del cursor y mz asigna la marca 'z'. Puedes moverte entre las líneas marcadas usando '. Por lo que 'a se mueve al principio de la línia que contenga la marca 'a'. Y moverte a la localización concreta de la marca utilizando `. Por lo que `z irá a la posición concreta de la marca 'z'.

otros/otros/howto/vi.1270207754.txt.gz · Última modificación: 2020/05/09 09:25 (editor externo)