Todos los productos
Search
Centro de documentos

Elastic Compute Service:Use the Vim editor

Última actualización: Sep 10, 2026

Cambie entre los modos de Vim, use los comandos básicos de edición y ejecute tareas comunes como buscar, reemplazar y comentar código.

Instalación

Vim viene preinstalado en la mayoría de los sistemas Linux. Ejecute vim --version para comprobar la versión instalada. Este tema usa Vim 8.0 como ejemplo. Los comandos y las funciones pueden variar en otras versiones.

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 10 2022 11:26:47)
Included patches: 1-1763
Modified by OpenAnolis Community
Compiled by OpenAnolis Community
Enormous version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
 ......

Cambio de modos

Ejecute vim filename para abrir un archivo en modo Normal. Si el archivo no existe, Vim lo crea. A continuación se describe cada modo y cómo cambiar entre ellos.

image

Modo

Función

Cambio de modo

Modo Normal

(Normal Mode)

Copiar, pegar y eliminar caracteres o líneas.

  • Ejecute vim <filename> para abrir un archivo en modo Normal.

  • En otros modos, presione Esc para volver al modo Normal.

Modo de inserción

(Insert Mode)

Insertar caracteres en la posición del cursor.

En modo Normal, presione i,I,a,A,o,O para entrar al modo de inserción.

Nota

Cuando el modo de inserción está activo, aparece -- INSERT -- en la esquina inferior izquierda.

Modo de reemplazo

(Replace Mode)

Sobrescribir caracteres en la posición del cursor.

En modo Normal, presione R para entrar al modo de reemplazo.

Nota

Cuando el modo de reemplazo está activo, aparece -- REPLACE -- en la esquina inferior izquierda.

Modo visual

(Visual Mode)

Seleccionar texto. Comandos como copiar, reemplazar y eliminar se aplican solo al texto seleccionado.

En modo Normal, presione v para entrar al modo visual.

Nota

Cuando el modo visual está activo, aparece -- VISUAL -- en la esquina inferior izquierda.

Modo de comandos

(Command Mode)

Buscar y reemplazar cadenas, mostrar números de línea, guardar cambios y salir.

En modo Normal, presione : para entrar al modo de comandos.

Comandos básicos

Apertura de archivos

  • vim filename: abre un archivo en modo Normal. Si el archivo no existe, Vim lo crea.

  • vim filename1 filename2: abre varios archivos.

    • Vim abre primero filename1. Guárdelo con :w y luego ejecute :bn para cambiar a filename2. Guarde filename2 con :w.

    • :bp: cambia al archivo anterior.

    • :ls: muestra todos los archivos abiertos.

  • :open filename3: abre un archivo nuevo en modo de comandos. Guarde primero el archivo actual con :w.

Movimiento del cursor

  • En modo Normal

    • Flecha arriba / k: mover hacia arriba.

    • Flecha abajo / j: mover hacia abajo.

    • Flecha izquierda / h: mover hacia la izquierda.

    • Flecha derecha / l: mover hacia la derecha.

  • En modo de inserción

    • Use únicamente las teclas de dirección.

Inserción de contenido

En modo Normal, presione i,I,a,A,o,O para entrar al modo de inserción:

  • i: inserta antes del cursor.

  • I: inserta al inicio de la línea.

  • a: inserta después del cursor.

  • A: inserta al final de la línea.

  • o: abre una línea nueva debajo.

  • O: abre una línea nueva arriba.

Copia y pegado

En modo Normal:

  • yy: copia la línea actual. Péguela con p.

  • nyy: copia n líneas a partir de la línea actual. Por ejemplo, 2yy copia dos líneas.

  • p: pega debajo del cursor.

  • P: pega arriba del cursor.

Eliminación

  • En modo Normal

    • x: elimina el carácter donde está el cursor.

    • dd: elimina la línea actual. Péguela con p.

    • dk: elimina la línea actual y la línea superior.

    • dj: elimina la línea actual y la línea inferior.

    • dG: elimina desde la línea actual hasta el final del archivo.

    • nx: elimina n caracteres a partir del cursor.

    • ndd: elimina n líneas a partir de la línea actual. Péguelas con p.

  • En modo de inserción

    • Use Delete para eliminar caracteres.

Búsqueda

En modo Normal

  • /text: busca text. De forma predeterminada, la búsqueda distingue mayúsculas de minúsculas. Presione Enter para resaltar las coincidencias.

    • Para una búsqueda que no distinga mayúsculas de minúsculas, ejecute :set ignorecase. Para restaurar la distinción, ejecute :set noignorecase.

  • n: siguiente coincidencia.

  • N: coincidencia anterior.

Reemplazo

  • En modo Normal

    • r: reemplaza el carácter donde está el cursor.

    • R: entra al modo de reemplazo para sustituir de forma continua. Presione Esc para salir.

    • cc: elimina la línea actual y entra al modo de inserción.

    • :%s/oldtext/newtext/g: reemplaza todas las apariciones de oldtext por newtext. Sin /g, solo se reemplaza la primera coincidencia de cada línea.

  • En modo de inserción

    • Elimine el contenido antiguo y escriba el nuevo.

Deshacer y rehacer

En modo Normal

  • u: deshace el último cambio.

  • U: deshace todos los cambios de la línea actual.

  • Ctrl+r: rehace el último cambio deshecho.

Sangría y alineación

  • En modo Normal

    • >>: aplica sangría a la derecha en la línea actual. Sangría predeterminada: 8 espacios (una tabulación).

    • <<: quita sangría a la izquierda en la línea actual.

  • En modo de comandos

    • :ce: centra la línea.

    • :le: alinea la línea a la izquierda.

    • :ri: alinea la línea a la derecha.

Comentado de código

Nota
  • Haga una copia de seguridad del archivo antes de hacer reemplazos masivos, o use el comando de deshacer (u) para revertir errores. Por ejemplo, ejecute sudo cp /etc/text.txt /etc/text.txt.bak para respaldar un archivo.

  • Conozca la sintaxis de expresiones regulares de Vim para evitar eliminar contenido por accidente. En las expresiones regulares de Vim, / debe escaparse como \/. Practique con herramientas como Regex101.

  • Ajuste el símbolo de comentario según el lenguaje de programación.

  • En modo visual

    • Comentar varias líneas consecutivas de código

      1. Seleccione las líneas que desea comentar al mover el cursor hacia arriba o hacia abajo.

      2. Presione : para entrar al modo de comandos. Vim completa automáticamente :'<,'>, que apunta al rango seleccionado.

      3. Introduzca el comando de reemplazo. Por ejemplo, para agregar # al inicio de cada línea, introduzca s/^/#/ y presione Enter.

    • Comentar todo el código: :%s/^/#/g agrega # al inicio de cada línea.

  • En modo de inserción

    Escriba manualmente los símbolos de comentario para comentar el código.

Guardado y salida

  • Guardar: :w

  • Salir: :q

  • Guardar y salir: :wq, :x o ZZ

  • Forzar la salida sin guardar: :q!

  • Forzar el guardado y salir: :wq!

Cifrado de documentos

  • vim -x filename: abre un archivo con cifrado. Establezca una contraseña y guarde el archivo para que el cifrado surta efecto. Las siguientes aperturas requerirán la contraseña.

  • Cancelar el cifrado:

    1. Ejecute :set key= para borrar la clave de cifrado.

    2. Guarde y salga con :wq.

    3. Vuelva a abrir el archivo con vim filename. Ya no se solicitará la contraseña.

Ejecución de comandos de shell

  • !pwd: muestra el directorio de trabajo actual.

  • !ls: muestra los archivos del directorio actual.

Edición en varias ventanas

  • vim -o filename1 filename2: abre dos archivos en ventanas separadas. Salga de cada ventana de forma individual.

  • :n: siguiente ventana.

  • :N: ventana anterior.

Ayuda

  • Ejecute vim --help en la terminal para consultar la sintaxis de los comandos de Vim.

  • En modo Normal

    • :help: abre el documento de ayuda de Vim (solo lectura). Salga con :q.

    • :help i: muestra la ayuda de i.

    • :help yy: muestra la ayuda de yy.

    • :set nu: muestra los números de línea.

Ejemplos de uso

Modificar un archivo de configuración

Inserte Location en la primera línea de example.conf:

  1. Ejecute vim example.conf para abrir el archivo.

  2. Coloque el cursor en el primer carácter y presione i para entrar al modo de inserción.

  3. Introduzca Location y presione Enter para iniciar una línea nueva.

  4. Presione Esc para volver al modo Normal.

  5. Introduzca :wq para guardar y salir.

    example-1-1-2.gif

Insertar contenido en una línea específica

Inserte # al inicio de la línea 10 en example.conf:

  1. Ejecute vim example.conf para abrir el archivo.

  2. Ejecute :10 para mover el cursor a la línea 10.

  3. Presione i para entrar al modo de inserción.

  4. Introduzca #.

  5. Presione Esc para volver al modo Normal.

  6. Introduzca :wq para guardar y salir.

    example-2-1-2.gif

Buscar e insertar contenido

En example.conf, inserte LoadModule rewrite_module modules/mod_rewrite.so después de Include conf.modules.d/*.conf:

  1. Ejecute vim example.conf para abrir el archivo.

  2. Busque la línea objetivo: /Include conf.modules.d/*.conf

  3. Presione i para entrar al modo de inserción.

  4. Introduzca LoadModule rewrite_module modules/mod_rewrite.so.

  5. Presione Esc para volver al modo Normal.

  6. Introduzca :wq para guardar y salir.

    example-3-1-2.gif

Eliminar contenido

En example.conf, elimine # del inicio de la línea #Listen 12.34.XX.XX:80 y elimine la línea Listen 80:

  1. Ejecute vim example.conf para abrir el archivo.

  2. Busque la línea objetivo: /#Listen 12.34.XX.XX:80. El cursor se ubicará sobre #.

  3. Presione x para eliminar #.

  4. Mueva el cursor a la línea Listen 80 y presione dd para eliminarla.

  5. Introduzca :wq para guardar y salir.

    delete-1.gif

Editar Docker.yaml

Cree y edite docker-compose.yaml:

vim docker-yaml-2.gif

Quitar comentarios de varias líneas

  1. Suponga que # está al inicio de una línea, posiblemente precedido por espacios o sangría:

    # This is a comment
        # Another comment
    # Yet another comment
  2. Quite los comentarios:

    :%s/^\s*#\s\?//

    Desglose del patrón:

    • ^: inicio de línea.

    • \s*: cualquier espacio en blanco (maneja la sangría).

    • #: símbolo de comentario.

    • \s\?: un espacio opcional después de #.

    • //: reemplaza la coincidencia con nada (la elimina).

    Este comando procesa todo el archivo. Resultado:

    This is a comment
    Another comment
    Yet another comment

Actualizar Vim

Si su versión de Vim no cubre sus necesidades, actualícela con los siguientes comandos.

Alibaba Cloud Linux 3 and 2

sudo yum update vim

CentOS 7 and 8

sudo yum update vim

Fedora

sudo yum update vim

Ubuntu and Debian

sudo apt upgrade vim

openSUSE

sudo zypper update vim

Solución de problemas

  • "No write since last change" al salir:

    • Causa: el archivo se modificó pero no se guardó.

    • Solución: guarde y salga con :wq, o descarte los cambios con :q!.

  • No es posible escribir texto:

    • Causa: es probable que esté en un modo distinto al de inserción, como el modo visual.

    • Solución: presione Esc para volver al modo Normal y luego entre al modo de inserción.

  • No es posible guardar el archivo:

    • Causa: el usuario actual no tiene permisos de escritura. Los archivos de configuración del sistema, como /etc/hosts y /etc/nginx/nginx.conf, requieren permisos de superusuario.

    • Solución 1: abra el archivo con sudo vim example.conf.

    • Solución 2: guarde con permisos elevados mediante :w !sudo tee %. También puede cambiar los permisos o el propietario del archivo con sudo chown o sudo chmod.

  • Existe un archivo ".swp":

    • Causa: el archivo está abierto en otra sesión de Vim.

    • Solución: confirme que ninguna otra terminal esté editando el archivo. Si no hay ninguna, busque y elimine el archivo .swp con ll -a y vuelva a abrir el archivo. También puede ejecutar :recover para restaurarlo desde el archivo de intercambio.