Editar archivos en el VPS: nano vs vim — cuál usar y cuándo

Comparación práctica de nano y vim para editar archivos de configuración en un VPS Linux. Comandos esenciales, atajos, ventajas y cuándo cambiar de uno al otro.

Editar archivos de configuración directamente en el servidor es una de las tareas más comunes en la administración de un VPS Linux — ajustar nginx, modificar /etc/hosts, editar variables de entorno, configurar SSH. Para quien recién empieza, la elección entre nano y vim define la experiencia: nano es amigable y se parece a un editor de texto común; vim es minimalista, modal y tiene fama de intimidante.

Este tutorial compara ambos editores en la práctica, muestra los comandos esenciales de cada uno y te ayuda a decidir cuál usar según el tipo de tarea. El objetivo es el sysadmin principiante o desarrollador que se conecta vía SSH al VPS y necesita editar archivos sin pánico — ya sea para ajustar una línea rápida o para manipular archivos grandes de forma eficiente.

Tiempo estimado: 15 minutos para leer y probar los comandos en un VPS de prueba. Si solo quieres saber cuál instalar ahora, ve directamente a “Cuándo usar nano vs vim”.

Requisitos previos

Requisitos previos

Necesitas un VPS Linux con Ubuntu 22.04 o 24.04 (también sirve Debian), acceso SSH con usuario sudo y una terminal capaz de mostrar caracteres UTF-8. Los comandos de instalación asumen apt — adáptalos a dnf o yum en RHEL/AlmaLinux/Rocky.

Nano — paquete nano
Vim completo vim
Verificar instalación which nano | which vim
Editor por defecto del sistema $EDITOR / $VISUAL

Antes de elegir, confirma lo que ya está instalado. En casi toda imagen oficial de Ubuntu, nano viene por defecto; vim suele venir en la variante “tiny” (sin resaltado de sintaxis). Para producción, conviene siempre instalar la versión completa del editor que vayas a usar para evitar sorpresas.

Comparación directa: nano vs vim

Ambos editores resuelven el mismo problema básico — editar archivos en la terminal — pero tienen filosofías opuestas. Esta tabla resume las diferencias que importan para la decisión.

Característicananovim
Curva de aprendizajeBaja (5 minutos)Alta (semanas hasta dominarlo)
Modal (modos de inserción y comando)NoSí (normal, insert, visual, command)
Atajos visibles en pantallaSí (el pie de página siempre los muestra)No (hay que memorizarlos)
Macros y edición masivaLimitadoExcelente (regex, grabación de macros)
Tamaño del binario~250 KB~3 MB (vim completo)
Salir sin guardarCtrl+X después NEsc, después :q!
Resaltado de sintaxis por defectoRazonable (10+ lenguajes)Completo (200+ lenguajes)
Multi-buffer / splitNoSí (:split, :vsplit)
Reabre en la última posiciónNo (sin config)Sí (con viminfo)
Velocidad en archivos grandesLenta en archivos >10 MBRápida incluso en archivos >100 MB

nano gana en accesibilidad inmediata: abres, editas, guardas y sales sin necesidad de consultar el manual. vim gana en productividad después de que dominas los atajos — operaciones como “cambiar la cadena X por Y en las próximas 50 líneas” o “borrar todo dentro de estas comillas” son una combinación de dos teclas.

Instalación y configuración básica

Antes de comparar el uso, asegúrate de que ambos estén instalados en tu VPS para que puedas probarlos.

01

Actualiza el índice de paquetes:

sudo apt update

Este comando lee los repositorios en /etc/apt/sources.list y descarga los metadatos actualizados — necesario antes de instalar cualquier paquete nuevo.

02

Instala nano (si aún no está instalado) y el vim completo:

sudo apt install -y nano vim

El paquete vim sustituye a vim-tiny automáticamente y activa el resaltado de sintaxis, el modo visual y la grabación de macros. Confirma con vim —version | head -1 — deberías ver “Vi IMproved” y versión 9.x o superior.

03

Define el editor por defecto del sistema (usado por comandos como crontab -e, git commit, visudo):

sudo update-alternatives --config editor

Elige el número correspondiente a tu preferido. Para configurarlo solo para tu usuario, agrega export EDITOR=nano (o vim) a tu ~/.bashrc y ejecuta source ~/.bashrc.

nano — flujo esencial

nano usa atajos visibles en el pie de página de la pantalla. El símbolo ^ significa Ctrl, y M significa Alt (Meta). Los comandos más usados:

04

Abre un archivo para editar:

nano /etc/nginx/sites-available/default

Si el archivo no existe, nano lo crea al guardar. Para abrirlo como root cuando el archivo requiere permisos (caso de /etc, /var, etc), usa sudo nano. Editar como usuario común e intentar guardar da error de permiso.

05

Edita el contenido normalmente. Usa las flechas para navegar, escribe para insertar texto, Backspace para borrar. Atajos esenciales:

Ctrl+O    Guardar (Write Out) — confirma el nombre del archivo con Enter
Ctrl+X    Salir — pregunta si quieres guardar los cambios no grabados
Ctrl+W    Buscar texto (Where) — Alt+W para buscar el siguiente
Ctrl+\    Sustituir (replace) — pide el texto viejo y el nuevo
Ctrl+K    Cortar línea completa
Ctrl+U    Pegar línea cortada
Ctrl+G    Ayuda completa con todos los atajos

Para seleccionar texto, usa Ctrl+^ (Ctrl+Shift+6) para marcar el inicio y muévete con las flechas — Ctrl+K corta la selección.

06

Guarda con Ctrl+O, confirma el nombre con Enter y sal con Ctrl+X. Si hay cambios no grabados, nano pregunta “Save modified buffer?” — responde Y para guardar o N para descartar.

Nano con resaltado de sintaxis y números de línea

Edita ~/.nanorc y agrega: set linenumbers, set autoindent, set tabsize 2, include /usr/share/nano/*.nanorc. Esto activa la numeración de líneas, la indentación automática, el tab de 2 espacios y el resaltado de sintaxis para todos los lenguajes soportados.

vim — flujo esencial

vim es modal: no escribes directamente en el archivo hasta entrar en el modo de inserción. Esa es la mayor fuente de confusión para los principiantes.

07

Abre un archivo:

vim /etc/ssh/sshd_config

Entras en modo normal — cualquier letra escrita se convierte en comando, no en texto. Para insertar contenido, presiona i (insert).

08

Aprende los 4 modos básicos:

Esc         Vuelve al modo normal (siempre comienza aquí en caso de duda)
i           Insert — escribe texto en la posición del cursor
a           Append — escribe texto después del cursor
o           Open — crea nueva línea debajo y entra en insert
v           Visual — selecciona texto (usa las flechas para expandir)
:           Command-line — ingresa comandos (guardar, salir, buscar)

Cuando estés en modo de inserción, el pie de página muestra — INSERT —. Sin eso, estás en modo normal y cada tecla es un comando.

09

Guarda y sal. Los comandos más críticos:

:w          Guarda el archivo (write)
:q          Sale (quit) — falla si hay cambios sin guardar
:wq         Guarda y sale (la combinación más usada)
:x          Igual a :wq pero solo escribe si hay cambios
:q!         Sale forzado, descartando los cambios
ZZ          Igual a :wq (en modo normal, sin :)

Esc + :wq + Enter resuelve el 90% de los casos. :q! es la salida de emergencia cuando no sabes qué pasó y quieres descartar todo.

10

Edición eficiente — lo que hace potente a vim son las combinaciones de operador + movimiento:

dd          Borra la línea completa
dw          Borra desde la posición hasta el final de la palabra
d$          Borra hasta el final de la línea
yy          Copia (yank) la línea
p           Pega después del cursor
u           Undo
Ctrl+R      Redo
/texto      Busca "texto" (n siguiente, N anterior)
:%s/a/b/g   Sustituye "a" por "b" en todo el archivo
gg          Va a la primera línea
G           Va a la última línea
:42         Va a la línea 42

La regla de vim: comando + movimiento. d3w borra 3 palabras. y$ copia hasta el final de la línea. Estos patrones compuestos son los que ahorran tiempo en archivos grandes.

Editar archivos de sistema sin backup

Antes de editar archivos críticos como /etc/ssh/sshd_config o /etc/fstab, haz backup: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak. Si la configuración se rompe, restauras el backup y evitas perder el acceso al VPS. Vale especialmente para SSH — configuración errónea + reboot = servidor inaccesible.

Cuándo usar nano vs vim

No existe “mejor” — existe mejor para el contexto. Criterios prácticos:

Usa nano cuando:

  • La tarea es editar 1-3 líneas en un archivo de configuración
  • Solo vas a modificar el archivo una vez y no volverás pronto
  • Estás en un servidor al que accedes raramente
  • Quieres evitar el riesgo de cometer un error de modo y corromper el archivo
  • Estás pegando snippets de tutoriales sin necesidad de formatear

Usa vim cuando:

  • Vas a editar archivos con frecuencia (admin diario)
  • Trabajas con archivos grandes (logs, dumps SQL, configs largas)
  • Necesitas hacer ediciones masivas (sustituir regex en todas las líneas)
  • Ya trabajas con vim en tu escritorio y quieres consistencia
  • El servidor no tiene nano (algunos contenedores Alpine solo traen vi/vim)

Un patrón común: usar nano durante los primeros meses de admin del VPS, y migrar a vim cuando empieces a sentir que nano es lento para operaciones repetitivas. No hay vergüenza en quedarse con nano — mucha gente experimentada lo prefiere por simplicidad.

Verificación

Para confirmar que tu configuración está lista, prueba ambos editores en un archivo de prueba:

echo "linea 1" > ~/prueba.txt
nano ~/prueba.txt
# Agrega una linea, guarda con Ctrl+O, sal con Ctrl+X
cat ~/prueba.txt
# Debe mostrar 2 lineas

vim ~/prueba.txt
# Presiona i, agrega una linea, Esc, :wq, Enter
cat ~/prueba.txt
# Debe mostrar 3 lineas

rm ~/prueba.txt

Si ambos funcionaron y conseguiste guardar y salir de cada uno, tu VPS está listo para la administración diaria.

Resolución de problemas

”command not found: vim”

La imagen de tu VPS puede tener solo vi (versión Busybox) o ninguno de los dos. Ejecuta sudo apt install vim para resolverlo. En RHEL-like (AlmaLinux, Rocky), usa sudo dnf install vim-enhanced.

El archivo es “read-only” en vim

Abriste el archivo sin sudo y requiere privilegio. Sin perder el trabajo, guarda con :w !sudo tee % > /dev/null — este comando pasa el contenido del buffer a tee corriendo con sudo, grabando en el archivo. Después sal con :q!.

Nano ignora la indentación al pegar código

nano auto-indenta cada línea pegada si autoindent está activo, transformando código indentado en escalera. Antes de pegar, presiona Alt+I para deshabilitar auto-indent temporalmente. Pega el código y reactívalo con Alt+I nuevamente.

Vim muestra caracteres extraños como ^M al final de las líneas

El archivo fue guardado con line endings de Windows (CRLF). Conviértelo con :set fileformat=unix seguido de :w, o ejecuta dos2unix archivo.txt en la terminal antes de abrirlo.

Próximos pasos

Con el editor elegido y los comandos básicos en la cabeza, estos son los temas que normalmente aparecen en la secuencia de la administración de VPS:

  1. Configurar SSH key-based authentication — eliminar la contraseña de login
  2. Configurar el firewall UFW para cerrar puertos innecesarios
  3. Automatizar el backup de configs en /etc con rsync y cron
  4. Usar git para versionar archivos de configuración críticos
  5. Aprender tmux o screen para mantener sesiones SSH persistentes

Si estás configurando un VPS para producción y quieres infraestructura que cumpla lo que promete, un VPS Hostini ya viene con imágenes limpias de Ubuntu y Debian (con nano y vim disponibles), acceso root completo y consola KVM vía panel en caso de que cometas un error de configuración y pierdas SSH.

Preguntas frecuentes

¿Qué editor viene instalado por defecto en VPS Ubuntu y Debian?

Tanto nano como vim suelen venir preinstalados en Ubuntu y Debian modernos, pero vim normalmente viene en la versión mínima (vim-tiny) sin resaltado de sintaxis. Para tener la versión completa ejecuta sudo apt install vim. En imágenes minimal de cloud, a veces solo está presente nano — conviene verificar con which nano y which vim antes de asumir.

¿Cómo salir de vim sin guardar? Quedé atrapado en el editor.

Presiona Esc para asegurarte de estar en modo normal, luego escribe :q! y Enter. El signo de exclamación fuerza la salida descartando los cambios. Si quieres guardar antes de salir, usa :wq (write + quit). Este es el problema más clásico de quien abre vim por accidente — saber salir antes de aprender a editar.

¿Puedo configurar nano para mostrar números de línea y resaltado de sintaxis?

Sí. Edita ~/.nanorc y agrega set linenumbers y set autoindent. Para resaltado de sintaxis, nano ya viene con definiciones en /usr/share/nano/ — basta con incluir include /usr/share/nano/*.nanorc en tu .nanorc. No es tan potente como vim, pero cubre los casos comunes (bash, yaml, nginx, json).

vim se congela con Ctrl+S en la terminal. ¿Cómo lo destrabo?

Ctrl+S es el atajo XOFF de la terminal — pausa la salida y parece que vim se trabó. Presiona Ctrl+Q para reanudar (XON). Para evitar el problema, deshabilita el flow control agregando stty -ixon a tu ~/.bashrc — eso libera Ctrl+S para que vim lo use como atajo de guardar (si configuras el mapeo).

¿Cuál es la diferencia entre vim y vi?

vi es el editor original de Unix; vim (Vi IMproved) es la reimplementación moderna con features extras: múltiples ventanas, resaltado de sintaxis, undo ilimitado, plugins. En distros Linux modernas, vi normalmente es un symlink a vim. En sistemas más antiguos o contenedores minimal, vi puede ser una versión limitada de Busybox sin estas features.

¿Cómo copiar y pegar texto entre la terminal y nano/vim sin romper la indentación?

En nano, activa el modo paste con Alt+X antes de pegar (o deshabilita auto-indent con Esc+I). En vim, entra en modo paste con :set paste antes de pegar y deshabilítalo con :set nopaste después. Sin esto, el auto-indent del editor apila tabs/espacios en cada línea pegada, transformando código indentado en escalera.

Temas:
Próximos pasos Cloud Ryzen con NVMe y protección DDoS siempre activa.Pon en producción en un VPS Hostini →
¿Te resultó útil este tutorial?
Hablar por WhatsApp