Comparte esta página

Aprende X en Y minutos

Donde X=Vim

Vim (Vi IMproved) es un clón del popular editor vi para UNIX. Es un editor de texto diseñado para ser veloz e incrementar la productividad, es ubicuo en la mayoría de los sistemas basados en UNIX. Cuenta con numerosas combinaciones de teclas para la navegación rápida a puntos especificos en un archivo y para rápida edición.

Fundamentos de la navegación en Vim

    vim <archivo>    # Abre <archivo> en vim
    :q               # Salir de vim
    :w               # Guardar archivo actual
    :wq              # Guardar archivo y salir de vim
    :q!              # Salir de vim sin guardar el archivo
                     # ! *forza* :q a ejecutarse, por lo tanto sale de vim sin guardar
    :x               # Guardar el archivo y salir de vim, versión corta de :wq

    u                # Deshacer
    CTRL+R           # Rehacer

    h                # Desplazarse un carácter hacía la izquierda
    j                # Desplazarse una línea hacía abajo
    k                # Desplazarse una línea hacía arriba
    l                # Desplazarse un carácter hacía la derecha

    # Desplazarse dentro de la línea

    0                # Desplazarse hacia el inicio de la línea
    $                # Desplazarse al final de la línea
    ^                # Desplazarse al primer carácter no blanco en la línea

    # Buscando en el texto

    /word            # Resalta todas las ocurrencias de la palabra después del cursor
    ?word            # Resalta todas las ocurrencias de la palabra antes del cursor
    n                # Desplaza el cursor a la siguiente ocurrencia de la palabra después de una búsqueda
    N                # Desplaza el cursor a la anterior ocurrencia de la palabra

    :%s/foo/bar/g    # Cambia 'foo' a 'bar' en cada línea en el archivo
    :s/foo/bar/g     # Cambia 'foo' a 'bar' en la línea actual

    # Saltando caracteres

    f<carácter>     # Salta adelante y aterriza en <carácter>
    t<carácter>     # Salta adelante y aterriza antes de <carácter>

    # Por ejemplo,
    f<               # Salta adelante y aterriza en <
    t<               # Salta adelante y aterriza justo antes de <

    # Desplazarse por palabras

    w                # Desplazarse hacia adelante por una palabra
    b                # Desplazarse hacia atrás por una palabra
    e                # Desplazarse al final de la palabra actual

    # Otros caracteres para desplazarse

    gg               # Ir al principio del archivo
    G                # Ir al final del archivo
    :NUM             # Ir a la línea número NUM (NUM es cualquier número)
    H                # Desplazarse al principio de la pantalla
    M                # Desplazarse a la mitad de la pantalla
    L                # Desplazarse al final de la pantalla

Modos

Vim se basa en el concepto de modos.

Modo Comando - Vim se pone en marcha en éste modo, se usa para navegar y escribir comandos Modo Inserción - Utilizado para realizar cambios en el archivo Modo Visual - Utilizado para resaltar texto y operar en ellos Modo Ex - Utilizado para ir hacia la parte inferior con ':' para introducir comandos

    i                # Pone a Vim en modo de inserción, antes de la posición del cursor
    a                # Pone a Vim en modo de inserción, después de la posición del cursor
    v                # Pone a Vim en modo de visual
    :                # Pone a Vim en modo Ex
    <esc>            # Sale de cualquier modo en que se encuentre, al modo comando

    # Copiando y pegando texto

    y                # Copia lo que se encuentre seleccionado
    yy               # Copia la linea actual
    d                # Elimina lo que se encuentre seleccionado
    dd               # Elimina la linea actual
    p                # Pega el texto copiado después de la posición del cursor
    P                # Pega el texto copiado antes de la posición del cursor
    x                # Elimina el carácter debajo de la posición del cursor

La "Gramática" de vim

Vim puede ser pensado como un conjunto de comandos en un formato "verbo-sustantivo-modificador ', donde:

Verbo - La acción a realizar Modificador - Como vas hacer la acción Sustantivo - el objeto al que se le va a aplicar la acción

Algunos ejemplos importantes de "Verbos", "Modificadores" y "Sustantivos":

    # 'Verbos'

    d                # Eliminar
    c                # Cambiar
    y                # Copiar
    v                # Seleccionar visualmente

    # 'Modificadores'

    i                # Dentro
    a                # Alrededor
    NUM              # Número (NUM es cualquier número)
    f                # Busca algo y aterriza sobre el
    t                # Busca algo y se detiene antes de
    /                # Encuentra una cadena desde el cursor en adelante
    ?                # Encuentra una cadena antes del cursor

    # 'Sustantivos'

    w                # Palabra
    s                # Oración
    p                # Párrafo
    b                # Bloque

    # "Frases" de ejemplo o comandos

    d2w              # Elimina 2 palabras
    cis              # Cambia dentro de una oración
    yip              # Copia dentro de un párrafo (copia el párrafo donde estás)
    ct<              # Cambia para abrir un paréntesis
                     # Cambie el texto desde donde está a la siguiente paréntesis abierto
    d$               # Eliminar hasta el final de la línea

Algunos accesos directos y trucos

    >                # Sangrar la selección por un bloque
    <                # Desangrar la selección por un bloque
    :earlier 15m     # Devuelve el documento de nuevo a como era hace 15 minutos
    :later 15m       # Deshace el comando anterior
    ddp              # Intercambia la posición de las lineas consecutivas, dd después p
    .                # Repite la acción previa

Macros

Las macros son, básicamente, las acciones que se pueden grabar. Cuando comienzas a grabar un macro, registra todas las acciones y comandos que se utilizan hasta que detenga la grabación. En la invocación de un macro, se aplica exactamente la misma secuencia de acciones y comandos de nuevo en la selección de texto.

    qa               # Comienza a grabar un macro llamada 'a'
    q                # Detiene la grabación
    @a               # Comienza la reproducción del macro

Configurando ~/.vimrc

El archivo .vimrc puede ser usado para configurar Vim en el arranque.

Aquí está un ejemplo de un archivo ~ / .vimrc:

" Ejemplo ~/.vimrc
" 2015.10

" Se requiere para que vim sea 'mejor'
set nocompatible

" Determina la extensión del archivo por el nombre para permitir el auto-indentado inteligente, etc...
filetype indent plugin on

" Habilita el resaltado de sintaxis
syntax on

" Mejor terminación de línea de comandos
set wildmenu

" Usa búsqueda sensible a mayúsculas excepto cuando se utilizan letras mayúsculas
set ignorecase
set smartcase

" Al abrir una nueva línea, si la sangría especifica del archivo no está habilitada,
" mantén la misma sangría que la línea que estás actualmente
set autoindent

" Despliega el número de línea a la izquierda
set number

" Opciones de sangría, cambialas de acuerdo a tus preferencias personales

" Número de espacios visuales por tabulación
set tabstop=4

" Número de espacios de las tabulaciones al editar
set softtabstop=4

" Número de espacios sangrados cuando las operaciones de resangrado (>> y <<) son usadas
set shiftwidth=4

" Convertir tabulaciones en espacios
set expandtab

" Habilitar la tabulación inteligente y el espaciamiento para el sangrado y la alineación
set smarttab

Referencias

Vim | Home (EN)

$ vimtutor Command

A vim Tutorial and Primer (EN)

What are the dark corners of Vim your mom never told you about? (Stack Overflow thread) (EN)

Arch Linux Wiki (EN)


¿Tienes una sugerencia o rectificación? Abre un issue en el repositorio de GitHub, o haz un pull request tu mismo

Originalmente contribuido por RadhikaG, y actualizado por 2 colaboradores.