Editar con #Vim archivos remotos

Con el editor Vim tienes la posibilidad de editar archivos en equipos remotos gracias al protocolo ssh

Adentrarse en Vim es aprender y descubrir nuevas funcionalidades interesantes. Lo que voy aprendiendo lo voy publicando en el blog en lo que he llamado: “Curso improVIMsado” y que puedes encontrar en este enlace:

El artículo de hoy se viene a sumar a esas cosas que aprendes sobre Vim y te sorprenden. Como es la posibilidad de poder editar archivos en máquinas remotas gracias al protocolo ssh. Comenzamos…

El editor Vim tiene la posibilidad de editar archivos de manera remota. Esto es gracias al complemento netrw que utiliza el protocolo ssh y gestiona archivos remotos mediante el comando scp.

Para ello deberás ejecutar el siguiente comando:

vim scp://usuario@servidor[:puerto]//ruta/al/archivo.txt

No olvides la doble // para indicar la ruta al archivo a editar en la máquina remota. El parámetro del puerto es opcional y puedes no indicarlo.

Por ejemplo, puedo editar un archivo de mi Rapberry Pi mediante el comando:

vim scp://victorhck@192.168.1.10//home/victorhck/archivo.txt

Esto abrirá el archivo especificado en mi Raspberry Pi con Vim, podré editarlo y guardarlo.

Lo que hace Vim es utilizar el comando scp para descargar el archivo pedido de la máquina indicada a nuestro equipo local (desde donde ejecutamos el comando) en la carpeta /tmp y allí lo abre para editarlo.

Cuando guardas los cambios que has realizado en el archivo, los cambios son aplicados primero en nuestra copia local de la carpeta /tmp y después subidos a nuestra máquina remota utilizando de nuevo scp. ¡Todo de una vez!

Si hay archivos que tenemos que editar de manera recurrente, podemos crearnos un alias y ahorrarnos un poco de trabajo. O quizás nos sea útil para implementar un script, etc…

Espero que te haya resultado interesante. Este y otros consejos interesantes los he sacado de la siguiente fuente:

También te recomiendo mi guía de comandos de Vim, con aquellos más utilizados, como página de consulta:

2 comentarios sobre “Editar con #Vim archivos remotos

  1. Cuando tengo que modificar de forma recurrente ficheros en un servidor remoto utilizo sshfs.

    https://github.com/libfuse/sshfs

    # /home//.profile
    if [ ! -f "/home//mount/sshfs//.profile" ]; then
      sshfs @:/home// "/home//mount/sshfs//" -o allow_other,uid=,gid= -o IdentityFile="/home//.ssh/ssh-key-for-ssh-server" -o IdentitiesOnly=yes
    fi
    
  2. Arreglando texto:

    Cuando tengo que modificar de forma recurrente ficheros en un servidor remoto utilizo sshfs.

    https://github.com/libfuse/sshfs

    # /home/${local-username}/.profile
    if [ ! -f "/home/${local-username}/mount/sshfs/${remote-username}/.profile" ]; then
      sshfs ${remote-username}@${remote-host}:/home/${remote-username}/ "/home/${local-username}/mount/sshfs/${remote-username}/" -o allow_other,uid=${local-userID},gid=${local-groupID} -o IdentityFile="/home/${local-username}/.ssh/ssh-key-for-ssh-server" -o IdentitiesOnly=yes
    fi
    

Responder a binary-sequence Cancelar respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .