GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Vim-Tipps – Lesen und schreiben Sie entfernte Dateien mit Vim unter Linux

Vor einiger Zeit haben wir darüber gesprochen, wie man entfernte Dateien mit dem Vim-Editor bearbeitet auf Linux. Mit dieser Methode haben wir Dateien, die auf einem Remote-System gespeichert sind, über SSH bearbeitet, ohne uns tatsächlich beim Remote-System anmelden zu müssen. Heute werden wir einen ähnlichen Vim-Tipp diskutieren - entfernte Dateien mit Vim lesen und schreiben . Ab Version Vim 7.x das netrw.vim-Plugin wird standardmäßig als Standard-Plugin installiert. Dieses Plug-in ermöglicht den Benutzern das Lesen, Bearbeiten, Schreiben und Durchsuchen von Remote-Dateien über FTP, RCP, Scp oder http.

Was ist das Netrw-Plugin?

Für diejenigen, die sich fragen, die Netrw (Netzwerkorientiertes Lesen, Schreiben und Durchsuchen) Plugin unterstützt lokales und entferntes Bearbeiten, Lesen und Schreiben von Dateien über Netzwerke hinweg. Es unterstützt auch das Durchsuchen von lokalen und entfernten Verzeichnissen. Geben Sie für weitere Details :help netrw ein innerhalb Ihrer vim-Sitzung. Lassen Sie uns weitermachen und sehen, wie man Dateien, die in einem entfernten Linux-System gespeichert sind, von unserem lokalen System mit Vim lesen oder schreiben kann.

Lesen und schreiben Sie entfernte Dateien mit Vim unter Linux

Das Lesen und Schreiben von Remote-Dateien ist fast dasselbe wie das Bearbeiten von Remote-Dateien.

Um eine entfernte Datei von unserem lokalen System zu lesen, öffnen wir sie einfach mit dem Befehl:

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

Geben Sie q ein um die Datei zu verlassen.

Um in die Remote-Datei zu schreiben, öffnen Sie sie einfach wie oben gezeigt und drücken Sie "i" um in den Einfügemodus zu gelangen und schließlich mit dem Schreiben zu beginnen. Wenn Sie fertig sind, drücken Sie ESC und geben Sie :wq ein zum Speichern und Beenden.

Was tatsächlich im Hintergrund passiert, ist, dass die Remote-Datei mit dem Befehl scp in das Verzeichnis „/tmp“ Ihres lokalen Systems kopiert wird. Und dann wird die Datei zum Bearbeiten geöffnet. Nachdem Sie fertig sind, kopiert der scp-Befehl die Datei zurück auf das entfernte System.

Zeigen Sie den Inhalt der entfernten Datei von Ihrem lokalen System aus an, um zu überprüfen, ob die Datei wirklich geändert wurde, indem Sie den Befehl verwenden:

$ ssh [email protected] cat info.txt

Bitte beachten Sie, dass Sie doppelte Schrägstriche verwenden, wenn Sie den absoluten Pfad für das Verzeichnis auf dem Remote-Host angeben möchten (//) wie im folgenden Befehl gezeigt:

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

Nur für den Fall, dass Sie bereits den standardmäßigen SSH-Port geändert haben Aus Sicherheitsgründen sollten Sie die SSH-Portnummer wie unten explizit erwähnen.

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

Ersetzen Sie 2200 durch Ihre SSH-Portnummer.

Wenn Sie keinen ssh/scp-Zugang haben, können Sie andere Protokolle verwenden, zum Beispiel ftp , wie unten.

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

Lesen und Schreiben von entfernten Dateien innerhalb einer Vim-Sitzung

Wenn Sie sich bereits in einer Vim-Sitzung befinden, können Sie mit Nread entfernte Dateien lesen und schreiben (NetRead) und Nwrite (NetWrite)-Befehle.

Öffnen Sie den Vim-Editor in Ihrem lokalen System mit dem folgenden Befehl:

$ vim

Sie befinden sich jetzt in der Vim-Sitzung. Um eine entfernte Datei innerhalb der lokalen Vim-Sitzung in einem neuen Puffer zu lesen, führen Sie einfach Folgendes aus:

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

Alternativ können Sie das "Nread" verwenden Befehl wie unten.

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

Oder,

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

Geben Sie für weitere Details den folgenden Befehl in der Vim-Sitzung ein:

:Nread ?

Geben Sie nach dem Lesen der Datei :q ein zum Beenden.

Um die entfernte Datei zu schreiben, führen Sie auf ähnliche Weise Folgendes aus:

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

Drücken Sie „i“, um in den Einfügemodus zu gelangen und mit dem Schreiben/Ändern zu beginnen.

Sie können auch :w verwenden Befehl zum Erstellen und Schreiben von Dateien. Aber dieser Befehl erstellt nur eine neue leere Datei.

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

Drücken Sie nach dem Schreiben ESC und geben Sie :wq ein zum Speichern und Beenden.

Verwenden Sie alternativ "Nwrite" Befehl zum Erstellen, um Dateien wie unten zu schreiben.

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

Um mehr Details über Nwrite zu erfahren, geben Sie Folgendes in der Vim-Sitzung ein:

:Nwrite ?

Hoffe das hilft.

Empfohlene Lektüre:

  • Befehle auf Remote-Linux-Systemen über SSH ausführen

Linux
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. Lesen und schreiben Sie Daten von überall mit Umleitung im Linux-Terminal

  3. Tipps und Tricks zur Verwendung von CUPS zum Drucken unter Linux

  4. Kopieren Sie Dateien mit SCP und Rsync

  5. Linux-Zwischenablage lesen/schreiben in C

Tipps zum Auflisten von Dateien mit ls in der Linux-Befehlszeile

So rotieren und komprimieren Sie Protokolldateien unter Linux mit Logrotate

Vim-Tipps – Bearbeiten Sie Remote-Dateien mit Vim unter Linux

Linux-Dateien und -Verzeichnisse mit rsync synchron halten

Befehl bsdtar – Bandarchivdateien lesen und schreiben

Schreibbefehl in Linux mit Beispielen