GNU/Linux >> Tutoriales Linux >  >> Linux

Consejos de Vim:lea y escriba archivos remotos con Vim en Linux

Hace un tiempo, discutimos cómo editar archivos remotos con el editor Vim en Linux. Usando ese método, editamos archivos almacenados en un sistema remoto a través de SSH sin tener que iniciar sesión en el sistema remoto. Hoy discutiremos un consejo similar de Vim:leer y escribir archivos remotos con Vim . A partir de la versión Vim 7.x, el complemento netrw.vim se instala como complemento estándar de forma predeterminada. Este complemento permite a los usuarios leer, editar, escribir y explorar archivos remotos a través de ftp, rcp, scp o http.

¿Qué es el complemento Netrw?

Para aquellos que se preguntan, Netrw (Lectura, escritura y navegación orientadas a la red) El complemento admite la edición local y remota, la lectura y la escritura de archivos a través de redes. También admite la exploración de directorios locales y remotos. Para obtener más detalles, escriba :help netrw dentro de su sesión vim. Avancemos y veamos cómo leer o escribir archivos almacenados en un sistema Linux remoto desde nuestro sistema local usando Vim.

Lea y escriba archivos remotos con Vim en Linux

Leer y escribir archivos remotos es casi lo mismo que editar archivos remotos.

Para leer un archivo remoto de nuestro sistema local, simplemente lo abrimos usando el comando:

$ vim scp://[email protected]/info.txt

Escriba q para salir del archivo.

Para escribir en el archivo remoto, simplemente ábralo como se muestra arriba y presione "i" para entrar en el modo de inserción y finalmente empezar a escribir en él. Una vez que haya terminado, presione ESC y escribe :wq para guardar y salir.

Lo que realmente sucede en segundo plano es que el archivo remoto se copia en el directorio "/tmp" de su sistema local mediante el comando scp. Y luego el archivo se abre para editarlo. Una vez que haya terminado, el comando scp vuelve a copiar el archivo en el sistema remoto.

Vea el contenido del archivo remoto desde su sistema local para verificar si el archivo ha sido realmente modificado usando el comando:

$ ssh [email protected] cat info.txt

Tenga en cuenta que si desea mencionar la ruta absoluta para el directorio en el host remoto, use barras inclinadas dobles (//) como se muestra en el siguiente comando:

$ vim scp://[email protected]//home/sk/Documents/info.txt

En caso de que ya haya cambiado el puerto SSH predeterminado por motivos de seguridad, debe mencionar explícitamente el puerto SSH como se muestra a continuación.

$ vim scp://[email protected]:2200/info.txt

Reemplace 2200 con su número de puerto SSH.

Si no tiene acceso ssh/scp, puede usar otros protocolos, por ejemplo, ftp , como a continuación.

$ vim ftp://[email protected]/path/to/file

Leer y escribir archivos remotos dentro de la sesión de Vim

Si ya está dentro de una sesión de Vim, puede leer y escribir archivos remotos usando Nread (NetRead) y Nwrite (NetWrite) comandos.

Abra el editor Vim en su sistema local usando el siguiente comando:

$ vim

Ahora estás dentro de la sesión de Vim. Para leer un archivo remoto desde la sesión local de Vim en un nuevo búfer, simplemente ejecute:

:e scp://[email protected]/info.txt

Alternativamente, puede usar el "Nread" comando como a continuación.

:Nread scp://[email protected]/info.txt

O,

:Nread "scp://[email protected]/info.txt"

Para obtener más detalles, escriba el siguiente comando dentro de la sesión de Vim:

:Nread ?

Después de leer el archivo, escriba :q para salir.

De manera similar, para escribir el archivo remoto, ejecute:

:e scp://[email protected]/info.txt

Presiona "i" para ingresar al modo de inserción y comienza a escribirlo/modificarlo.

También puede usar :w comando para crear y escribir archivos. Pero este comando solo creará un nuevo archivo vacío.

:w scp://[email protected]/info.txt

Después de escribir, presione ESC y escribe :wq para guardar y salir.

Alternativamente, use "Nwrite" comando para crear para escribir archivos como a continuación.

:Nwrite scp://[email protected]/info.txt

Para conocer más detalles sobre Nwrite, escriba lo siguiente en la sesión de Vim:

:Nwrite ?

Espero que esto ayude.

Lectura sugerida:

  • Ejecutar comandos en sistemas Linux remotos a través de SSH

Linux
  1. Cifre y descifre archivos con una frase de contraseña en Linux

  2. Cómo encontrar archivos con permisos SUID y SGID en Linux

  3. Cómo comprimir archivos y directorios en Linux (con ejemplos)

  4. Linux Eliminar archivos y directorios

  5. Cómo transferir archivos en Linux con SCP y Rsync

Sugerencias para enumerar archivos con ls en la línea de comandos de Linux

Cómo rotar y comprimir archivos de registro en Linux con Logrotate

Compara archivos y carpetas gráficamente en Linux con Meld

Consejos de Vim:edite archivos remotos con Vim en Linux

Mantener los archivos y directorios de Linux sincronizados con rsync

escribir comando en Linux con ejemplos