El Command mode es la interfaz de texto de Vim para operaciones sobre archivos, rangos, configuración y automatización. Cualquier cosa que no tenga un atajo en Normal mode se ejecuta aquí.
Abreviaciones de modos: N = Normal | I = Insert | V = Visual | C = Command | VB = Visual Block
Navegación en la línea de comandos
Modo
Comando
Acción
C
<Ctrl-b>
Mueve el cursor al inicio de la línea
C
<Ctrl-e>
Mueve el cursor al final de la línea
C
<Ctrl-h>
Borra el carácter anterior
C
<Ctrl-w>
Borra la palabra anterior
C
<Ctrl-u>
Borra desde el cursor hasta el inicio
C
<Up> / <Down>
Navega el historial de comandos
C
<Ctrl-p> / <Ctrl-n>
Navega el historial (igual que flechas)
C
q:
Abre el historial como buffer editable
C
<Ctrl-f>
Abre el historial como buffer editable (desde Command mode)
Rangos
Modo
Comando
Acción
C
:{n}
Salta a la línea n
C
:{n},{m}cmd
Aplica cmd entre las líneas n y m
C
:%cmd
Aplica cmd a todo el archivo
C
:.cmd
Aplica cmd a la línea actual
C
:$cmd
Aplica cmd a la última línea
C
:.,$cmd
Aplica cmd desde la línea actual hasta el final
C
:'<,'>cmd
Aplica cmd a la selección Visual activa
C
:'{a},{b}cmd
Aplica cmd entre los marks a y b
C
:/patrón/cmd
Aplica cmd en la siguiente línea que coincide
C
:/{p1}/,/{p2}/cmd
Aplica cmd entre dos patrones
Modificadores de rango
Modificador
Significado
+n
n líneas después del punto de referencia
-n
n líneas antes del punto de referencia
.,+5
Línea actual y las 5 siguientes
'a,'b
Entre los marks a y b
%
Todo el archivo (equivale a 1,$)
Comandos de archivo
Modo
Comando
Acción
C
:w
Guarda el archivo actual
C
:w {archivo}
Guarda como archivo nuevo
C
:w >> {archivo}
Añade el contenido al archivo especificado
C
:wa
Guarda todos los buffers modificados
C
:wq
Guarda y cierra
C
:x
Guarda solo si hay cambios y cierra
C
:q
Cierra si no hay cambios pendientes
C
:q!
Cierra descartando cambios
C
:qa!
Cierra todo Vim descartando cambios
C
:{rango}w {archivo}
Guarda solo el rango especificado en un archivo
Comandos de edición sobre rangos
Modo
Comando
Acción
C
:{rango}d
Borra las líneas del rango
C
:{rango}y
Copia las líneas del rango
C
:{rango}t {destino}
Copia el rango a la línea destino
C
:{rango}m {destino}
Mueve el rango a la línea destino
C
:{rango}j
Une las líneas del rango en una sola
C
:{rango}center
Centra las líneas del rango
C
:{rango}left
Alinea las líneas del rango a la izquierda
C
:{rango}right
Alinea las líneas del rango a la derecha
C
:{rango}sort
Ordena las líneas del rango alfabéticamente
C
:{rango}sort!
Ordena en orden inverso
C
:{rango}sort u
Ordena y elimina duplicados
Autocompletado en Command mode
Modo
Comando
Acción
C
<Tab>
Completa el comando o argumento actual
C
<Shift-Tab>
Cicla hacia atrás en las sugerencias
C
<Ctrl-d>
Lista todas las completaciones posibles
C
:set wildmode=list:longest
Completa hasta el prefijo común y lista
C
:set wildmenu
Activa el menú visual de completado
Comandos de configuración
Modo
Comando
Acción
C
:set {opción}
Activa una opción booleana
C
:set no{opción}
Desactiva una opción booleana
C
:set {opción}!
Alterna una opción booleana
C
:set {opción}?
Muestra el valor actual de la opción
C
:set {opción}={valor}
Asigna un valor a la opción
C
:setlocal {opción}
Aplica la opción solo al buffer actual
C
:verbose set {opción}?
Muestra el valor y dónde fue definido
Comandos de información
Modo
Comando
Acción
C
:version
Muestra la versión de Vim y features compilados
C
:messages
Muestra el historial de mensajes de Vim
C
:scriptnames
Lista todos los scripts cargados al inicio
C
:map
Lista todos los mappings activos
C
:map {tecla}
Muestra el mapping de una tecla específica
C
:abbrev
Lista todas las abreviaciones definidas
C
:autocmd
Lista todos los autocomandos activos
C
:hi
Lista todos los grupos de highlight activos
Ejecutar y reutilizar comandos
Modo
Comando
Acción
C
@:
Repite el último comando ejecutado
N
@:
Repite el último comando desde Normal mode
C
:!!
Repite el último comando externo con !
C
:<Ctrl-r>:
Inserta el último comando en la línea actual
Tips
q: abre el historial de comandos como un buffer Vim real: puedes editar cualquier línea con todos los comandos normales y ejecutarla con <Enter>.
:verbose set {opción}? es indispensable para depurar configuraciones: muestra exactamente qué archivo y línea definió el valor actual.
:{rango}t. copia el rango justo debajo de la línea actual; :{rango}m. lo mueve. Son los comandos más rápidos para duplicar o reordenar bloques sin macros.
@: en Normal mode repite el último comando de Command mode; encadenado con un contador {n}@: lo ejecuta n veces sin reescribirlo.
:set wildmenu con :set wildmode=list:longest convierte el autocompletado de Command mode en algo similar al completado de una shell moderna.