GNU/Linux >> Linux Esercitazione >  >> Linux

Suggerimenti Vim:modifica file remoti con Vim su Linux

Via è uno dei migliori editor di testo altamente configurabili che include molte funzionalità uniche che non puoi trovare in altri editor di testo. Oggi parleremo di una delle utili funzioni:modificare i file del sistema remoto dal sistema locale . Significato:possiamo modificare un file archiviato in un sistema Linux remoto senza dover effettivamente accedere ad esso tramite SSH o altri metodi. Prima di conoscere questo trucco, di solito eseguo SSH nel sistema remoto e quindi modifico i file. Tuttavia, c'è anche un modo per modificare i file remoti con Vim dal tuo sistema locale. A partire dalla versione Vim 7.x, il plug-in netrw.vim è installato come plug-in standard. Questo plugin ti consente di modificare i file tramite ftp, rcp, scp o http.

Cos'è il plug-in Netrw?

Per chi se lo stesse chiedendo, il Netrw (Lettura, scrittura e navigazione orientate alla rete) il plug-in supporta la modifica, la lettura e la scrittura di file locali e remoti su reti. Supporta anche la navigazione nelle directory locali e remote. Per maggiori dettagli, digita :help netrw all'interno della tua sessione vim. Andiamo avanti e vediamo come modificare i file archiviati in un sistema Linux remoto dal nostro sistema locale usando Vim.

Modifica file remoti con Vim su Linux

Modificare un file remoto con Vim è molto semplice:

vim scp://[email protected]//path_to_file

Esempio:

Ho un file di testo chiamato info.txt nel mio sistema remoto con la seguente riga.

Welcome to OSTechNix

Ora modificherò quel file, apporterò alcune modifiche, quindi salverò e chiuderò il file. Tutto dal mio sistema locale!

Per farlo, eseguo semplicemente il seguente comando:

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

Ecco la demo visiva dell'attività di cui sopra:

Qui, dovresti prestare attenzione alle seguenti tre cose.

1. [email protetta] (Es. [email protetta]) - Qui sk è il nome utente del sistema remoto. 192.168.225.22 è l'indirizzo IP del sistema remoto.

2. Barra singola (/) - Se desideri modificare un file memorizzato nella $HOME directory di un sistema remoto, è necessario utilizzare una barra finale per separare l'indirizzo IP o il nome host del sistema remoto dal percorso del file. Nel caso precedente, ho archiviato il file info.txt nella directory $HOME, quindi ho utilizzato una singola barra finale.

3. // (Doppie barre) - Per specificare il percorso completo di un file, è necessario utilizzare doppie barre. Una barra (/) viene utilizzata per separare l'indirizzo IP o il nome host del sistema remoto dal percorso del file effettivo. E l'altra barra viene utilizzata per menzionare il percorso assoluto (completo) del file remoto. Ad esempio, supponiamo che tu stia modificando un file denominato info.txt che si trova in /home/sk/Documents/ directory del tuo sistema remoto. In questo caso, il comando sarebbe:

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

Notare le doppie barre tra l'indirizzo IP del sistema remoto e il percorso del file. Le doppie barre sono richieste solo quando si menziona il percorso assoluto di un file remoto.

Verifica il contenuto del file remoto dal tuo sistema locale:

$ ssh [email protected] cat info.txt
[email protected]'s password: 
Welcome to OSTechNix blog

Vedere? Ho aggiunto una parola in più "blog" nel file info.txt.

In alcune occasioni potresti aver cambiato la porta SSH predefinita per motivi di sicurezza. In tal caso, menziona la porta SSH non come di seguito.

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

Sostituisci 2200 con il tuo numero di porta SSH.

Se non disponi dell'accesso ssh/scp, puoi utilizzare altri protocolli, ad esempio ftp , come di seguito.

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

Quindi cosa sta succedendo in background?

Quando modifichi il file remoto dal tuo sistema locale usando il comando seguente;

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

Potresti aver notato il seguente output nella parte inferiore del tuo editor Vim:

:!scp -q '[email protected]:info.txt' '/tmp/vsoDT6K/0.txt'
"/tmp/vsOLzGf/0.txt" 1L, 21C

Significato:il comando scp copia il file richiesto dal sistema remoto e lo salva in /tmp directory del tuo sistema locale e quindi lo apre per la modifica. Dopo aver completato la modifica, il file viene caricato nuovamente sul sistema remoto utilizzando il comando scp.

Modifica file remoti all'interno della sessione Vim

Se sei già all'interno di una sessione Vim, puoi quindi modificare i file remoti dal tuo sistema locale come di seguito.

Apri il file da Vim in un nuovo buffer eseguendo il comando seguente:

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

Apporta le modifiche al file e premi ESC chiave e digita :wq per salvare e chiudere il file.

Dai un'occhiata alla seguente demo visiva.

Come puoi vedere nell'output sopra;

  • Ho aperto l'editor Vim dal mio sistema locale,
  • Poi ho aperto il file remoto chiamato info.txt all'interno della sessione di Vim in un nuovo buffer,
  • E poi ha apportato alcune modifiche al file,
  • Infine, salva le modifiche e chiude il file (ESC e :wq).

Puoi anche aprire il file in una nuova scheda eseguendo:

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

Spero questo sia di aiuto. Pubblicherò altri suggerimenti su Vim nei giorni a venire. Continua a visitare!

Lettura consigliata:

  • Suggerimenti Vim:leggi e scrivi file remoti con Vim su Linux
  • Esegui comandi su sistemi Linux remoti tramite SSH

Linux
  1. 7 Suggerimenti per la riga di comando di Linux per risparmiare spazio sui file multimediali

  2. Trova file e directory su Linux con il comando find

  3. Spostare file su Linux senza mv

  4. 10 fantastici suggerimenti e trucchi per lavorare con Linux

  5. Come posso modificare tutti i file restituiti da find in vi in ​​Linux?

Suggerimenti per elencare i file con ls nella riga di comando di Linux

Comando Cp in Linux (copia file)

Linux:come condividere file su una rete locale con woof

Comando Linux WC con esempi

Come rinominare uno o più file in Linux

Suggerimenti Vim:leggi e scrivi file remoti con Vim su Linux