Manual de Vim / Vi

Manual de Vim / Vi

Vi fue creado por Bill Joy en 1976, para ello tomo las referencias de los editores de archivos Unix «ed y ex«.

Actualmente el editor conocido como «Vi» está en desuso,  pues la gran mayoría de distribuciones linux tienen instalada de forma predeterminada una versión muy mejorada, conocida como «Vim«.

Su funcionamiento y opciones son prácticamente los mismos, y es importante que conozcas por lo menos lo básico, pues en caso de desastre y cuando no funciona ningún otro editor, Vi si que lo hace.

El uso de este potente editor puede ser un tanto complejo para los usuarios noveles, por ello vemos un pequeño manual de referencia que seguro te puede sacar de algún apuro.

Vemos el manual de Vim.

 

 

Manual de Vim / Vi

Acceso a vi:

Antes de comenzar debes saber que para acceder al modo comandos, y ejecutar una opción debes pulsar la tecle «Esc«, seguida de «:» (dos puntos).

Cuando estas en un archivo puedes volver al modo comandos con la tecla «Esc«.

 

Comenzamos.

Comandos de archivos:

vi miarchivoCrea o abre ‘miarchivo’
vi /usr/local/miarchivoCrea o abre ‘miarchivo’
vi -rVisualiza archivos rescatados
vi -r miarchivoRecuperar ‘miarchivo’
vi arc1 arc2Abre los archivos ‘arc1’ y ‘arc2’
vi +12 miarchivoAbre ‘miarchivo’ con el cursor directamente en la linea 12
vi +/sol miarchivoAbre ‘miarchivo’ con el cursor donde localice la primera palabra ‘sol’
:e otroarchivoAbre ‘otroarchivo’ mientras estas en «miarchivo»
:nSalta al siguiente archivo abierto
:pRetrocede al anterior archivo abierto
:r miotroarchivoInserta desde la posición actual del cursor ‘miotroarchivo’
:r !cmdlinuxInserta desde la posición actual del cursor la salida de un comando Linux (ejemplo cmd)
:!cmdlinuxEjecutar un comando de Linux
:wGuarda el archivo actual

 

Terminar y cerrar:

:qTerminar y cerrar si no hubo cambios
:q!Terminar y cerrar sin grabar los cambios
:wqTerminar y guardar el archivo
:wq miarchivoTerminar y guardar el archivo con el nombre «miarchivo»
😡Termina y guarda documento

 

Establecer opciones:

:setMuestra las opciones establecidas actualmente
:set allMuestra todas las posibles opciones
:set opcionComienza o inicio de la opción
:set noopcionTermina o quita la opción
:set unOpción que permite mostrar numeración de líneas
:set nounQuita la numeración de líneas
:set roread only, archivo en modo de solo lectura
:set tabstop=6Establece el salto de tabulador a 6 espacios

 

Mover el cursor:

hUna posición a la izquierda (flecha izquierda)
lUna posición a la derecha (flecha derecha)
kUna línea hacía arriba (flecha arriba)
jUna línea hacía abajo (flecha abajo)
0 (cero)Inicio de la línea
$Fin de la línea
wAdelante una palabra
WAdelante una palabra incluyendo puntuación
bAtrás una palabra
BAtrás una palabra incluyendo puntuación
eAl final de la palabra actual
EAl final de la palabra actual incluyendo puntuación
nArriba n líneas, primer carácter no espacio
n+Abajo n líneas, primer carácter no espacio
HPrimera línea de la pantalla actual
MLínea a mitad de la pantalla actual
Lultima línea de la pantalla actual

 

Paginación:

Pulsa <ctrl.> (^) y la tecla de opción que necesites.

^FAdelante una pantalla
^BAtrás una pantalla
^DAdelante media pantalla
^UAtrás media pantalla
1GIr a la línea 1
nGIr a la línea n
GIr a la última línea

 

Insertar texto:

aInsertar texto después del cursor
AInsertar texto al final de la línea actual
iInsertar texto antes del cursor
IInsertar texto antes del primer carácter (no espacio)
oAbrir una nueva línea después de la actual
OAbrir una nueva línea antes de la actual
rRemplazar el carácter actual
RRemplazar el carácter actual y los contiguos hasta que presiones ESC o se termine la línea

 

Modificar texto:

xBorrar el carácter actual
XBorrar el carácter antes del cursor
nxBorrar los caracteres «n«
ddBorrar la línea actual
nddBorra n líneas
dwBorrar la palabra actual
ndwBorrar las palabras «n«
DBorrar desde la posición actual del cursor hasta el final de la línea
dLBorrar desde la posición actual del cursor hasta el final de la pantalla
dGBorrar desde la posición actual del cursor hasta el final del documento
cwReemplazar la palabra actual por un nuevo texto
JJuntar la línea actual con la siguiente
~ (tilde)Cambia may/min del caracter actual
uDeshacer la ultima modificacion de texto
UDeshacer las modificaciones en la línea actual
. (punto)Repite el último cambio de texto
>>Mueve la línea actual a la derecha (tabulador)
<<Mueve la línea actual a la izquierda (tabulador)

 

Buscar y remplazar texto:

/textoBusca texto hacía adelante en el documento
?textoBusca texto hacía atrás en el documento
nRepite búsqueda
NRepite búsqueda en dirección inversa
:s/obsoleto/nuevoSustituye la primera ocurrencia de ‘obsoleto’ a ‘nuevo’ en la línea actual
:s/obsoleto/nuevo/gSustituye todas las ocurrencias de ‘obsoleto’ a ‘nuevo’ en la línea actual
:%s/obsoleto/nuevo/gSustituye todas las ocurrencias de ‘obsoleto’ a ‘nuevo’ en todo el documento
:s/obsoleto/nuevo/g/cSustituye todas las ocurrencias de ‘obsoleto’ a ‘nuevo’ en todo el documento y pregunta por confirmación
&Repite el último comando de sustitución ‘s’

 

Copiar y pegar texto:

YCopiar la línea actual
yyCopiar la línea actual
nyyCopiar n líneas desde la actual
ywCopiar la palabra actual
pPegar después del cursor
PPegar antes del cursor

 

Dividir ventanas:

:splitDividir un documento en dos ventanas horizontales con el mismo archivo y las mismas líneas en cada ventana
:vsplitDividir un documento en dos ventanas verticales con el mismo archivo y las mismas líneas en cada ventana
:split archivo1Divide el documento en dos ventanas horizontales con el archivo inicialmente cargado en una ventana y el ‘archivo1’ en la otra
:10split archivo1Divide el documento en dos ventanas horizontales con el archivo inicialmente cargado en una ventana y el ‘archivo1’ en la otra con una altura de 10 líneas.
Ctrl + W (dos veces)Cambiar el foco entre ventanas.
:closeCerrar la ventana actual
:onlyCerrar todas las ventanas dejando activa solo la actual

 

Números y rangos:

NúmerosTodos los comandos soportan el ser precedidos por un número que repetirá el comando el número de veces indicado.

Ejemplos:
6h – Mueve el cursor 6 posiciones a la izquierda
15yw – Copia las siguientes 15 palabras
12dd – Elimina las siguientes 12 lineas
8X – Elimina los cuatro caracteres anteriores al cursor

RangosTodos los comandos en modo «última línea» (: dos puntos) soportan ser precedidos por un rango de líneas que repetirá el comando en las líneas indicadas.

Ejemplos:
:2,11d – Borrar las líneas de la 2 a la 11
:.,19yy – Copiar de la línea actual (. punto) a la 19
:.,$s/obsoleto/nuevo/g – Buscar y reemplazar la cadena ‘obsoleto’ por ‘nuevo’ desde la línea actual a la última ($)
:%s/obsoleto/nuevo/g/c – Buscar y reemplazar la cadena ‘obsoleto’ por ‘nuevo’ en todo el documento y solicita confirmación, % es equivalente a 1,$)

 

Manual de Vim / Vi.

Agregar comentario