Editar archivos remotos con VIM y SCP

Cuando tenemos  configurado nuestro vim de manera caprichosa, queremos abrir con el cualquier archivo, incluso los que no están en nuestro equipo de manera local.  No es agradable tener que abrir un archivo con un editor vim plano. Para esto tenemos dos opciones, copiar nuestra configuración vim en cada maquina en la que abrimos un archivo o la otra abrir el archivo remoto en nuestra maquina con scp y vim.

Desde hace ya algunas versiones  vim trae nativamente un plugin llamado Netrw que básicamente es un navegador de archivos,  del cual también hecharemos mano, ya que lo mas probable es que tengas algún plugin  como NERDTree pero lamentablemente no se podrá usar para la navegación remota y visualización de archivos.

Pero vamos por partes el protocolo SCP es u protocólo empleado para transferir archivos de manera segura utilizando el protocolo SSH con el siguiente comando 


vim scp://user@myserver[:port]//path/to/file.txt

Así pues para conectarnos por ejemplo a algun recurso de mi server sería algo como esto: 


vim scp://m1Usuar1o@gomez-site.mx//home/dev/algunArchivo.txt

De esta manera se esta usando el usuario ssh para conectar al servidor, es recomendable el uso de llaves ssh para evitar el tener que ingresar contraseñas. Una vez que vim abre el archivo, lo que realmente hace detrás de escena es traerse el archivo remoto y hacer una copia en la carpeta /temp y es sobre el cual se hace la edición; Una vez se guarda los cambios, estos son aplicados primero al  archivo local para luego ser enviados al remoto por scp.

Explicada así la primer parte el editor vim abrira el archivo señalado o en su defecto si fue un directorio el que indicaste en el comando se abrirá con Netrw., Lo que nos lleva a la segunda parte...

Netrw es el explorador de archivos por defecto de vim, no es muy popular pero en tu vim ahí esta sin instalar nada. Al abrir el explorador vemos que tiene una interfaz no muy pulida un banner con información general y el listado de archivos del directorio actual.

La parte medular del explorador es el comando :Explore el cual al ser invocado sin argumentos despliega el navegador en la carpeta actual, de lo contrario es posible pasarle la ruta a un directorio dado.

Las posibilidades del Netrw son muy amplias y no vamos a profundizar en el tema, solo nos quedaremos con lo básico que es lo que ya vimos.