1. Inicio
  2. Tecnologia
  3. Linux
  4. Tips Vim

Tips en el uso de Vim

Vim es un editor de texto altamente configurable construido para permitir la edición eficiente de texto. Es una versión mejorada del editor vi que es distribuido con la mayoría de sistemas UNIX.

Seleccionar un texto

Para realizar el proceso de copia y pegar, podemos seleccionar el texto abandonando el modo de inserción y luego utilizar una de las siguientes opciones:

VSeleccionar lineas enteras
vSeleccionar un rango ode texto
ctrl-vSeleccionar columnas
gvRepetir la seleción del bloque

Para luego moverse entra las lineas a seleccionar, esto hará que el texto sea resaltado. Despues de haber seleccionado el texto puede usar d para borrar o y para copiar.

Folding

Esta característica permite compactar un bloque de código.

seleccione el bloque, luego :fold

zoExpande
zcContrae

Vea :help foldmethod para ver más opciones, use :mkview y :loadview para guardar y recuperar la ventana actual.

Búsqueda

Comados básicos

/cadenaBusca la cadena hacia adelante de la posicion actual
?cadenaBusca la cadena hacia atrás de la posición actual
nReppite la búsqueda hacia adelante
NRepite la búsqueda hacia atrás
\*Realiza la búsqueda de la palabra que esta debajo del cursor
g\*Busca parcialmente la palabra que esta debajo del cursor

Variables de interés

:set ignorecaseInsensibilidad a las mayúsculas y minúsculas
:set smartcaseuse case if any caps used
:set incsearchMuestra la ocurrencia mientras porcede con la búsqueda
:set hlsearchResalta la cadena encontrada

Buscar y Reemplazar

:%s/texto a buscar/reemplazar con este/Busca en todo el archivo y lo reemplaza
:%s/texto a buscar/reemplazar con /cBusca en todo el archivo, pide confirmación y reemplaza

Identación

Variables de interés

:set tabstop 8Colocar el tabulador en 8 espacios
:set expandtabNo usar el actual caracter de tabulación (ctrl-v)
:set shiftwidth=4Colocar la identación a 4 espacio
:set autoindentActivar la autoidentación
:set smartindentdoes the right thing (mostly) in programs

Identar una línea o un bloque de texto

ctrl-t, ctrl-dIdentar la línea actual (modo insertar)
> o <Identar un bloque (en modo visual)

Pegar texto desde un GUI

Cuando se esta pegando un texto desde una aplicación GUI (por ejemplo un navegador web), misteriosamente Vim inserta espacios extras lo cual hace que el texto incluido pierda su identación. Esto ocurre porque Vim esta realizando un proceso de escritura y no de pegado.

Para evitar la identación cuando se pega un texto con el ratón o con shift-ins, podemos agregar el siguiente comando en el archivo .vimrc:

:set pastetoggle=<f5>

Para pegar el texto sin procesar la identación presionamos F5 en el modo de inserción. También se puede usar el comando `:set paste` para el mismo fin. Para deshabilitarlo usamos `:set nopaste`.

Multiple Ventanas

Comándo básicos

:e nombre_archivoEditar otro archivo
:split nombre_archivoDividir la ventana y cargar otro archivo
ctrl-w flecha arribamover el curso a la ventana superior
ctrl-w ctrl-wMover el cursor entre las ventanas
ctrl-w_Maximizar la Ventana actual
ctrl-w=Igualar el tamaño de las ventanas
10 ctrl-w+Incrementar el tamaño de la ventana en 10 líneas
:vsplit fileHacer una división vertical de la ventana
:sview fileIgual que split pero el archivo es de solo lectura
:hidecerra la ventana actual
:onlyMantener abierta esta ventana solamante
:lsMostrar los buffers
:b 2Abrir el buffer número 2 en esta ventana

Mapas

El uso de mapas nos permite ahorrar tiempo al momento de escribir texto que se repiten frecuentemente. Por ejemplo :

imap ;pr print();<left><left>

hace que al escribir ;pr sea sustituido por print(); y el cursor se coloca entre los dos paréntesis.

Por lo general estas definiciones se colocan el el archivo .vimrc.

Edición de múltiples líneas

Para insertar una cadena de caracteres en varias líneas de un texto se procede de la siguiente manera:
Texto Original

Linea 1 
Linea 2 
Linea 3 
Linea 4 
Linea 5

El editor insertará la cadena de caractreres en cada linea seleccionada. Es importante señalar que habrá un pequeño retardo parar ver el resultado final.
Texto Modificado

Linea→ 1 
Linea→ 2 
Linea→ 3 
Linea→ 4 
Linea→ 5

Ver archivo en Hexadecimal

VIM puede mostrar un archivo en hexadecimal mediante el uso del programa externo xxd, solo hay que ejecutar el siguiuente comandio dentro del editor

!xxd

Para regresar al modo normal se ejecuta:

!xxd -r

Enlaces de Interés

Best of VIM Tips