Kopieren / Einfügen über vim ohne X.

8

In vim "+pPasten aus der System-Zwischenablage. Wenn Sie jedoch über SSH auf einer Nicht-GUI-Box remote arbeiten, ist dies nicht verfügbar.

Ist das Kopieren / Einfügen in dieser Umgebung möglich?

Das bloße Kopieren von Text vom Terminal reicht nicht aus, da auch Inhalte kopiert werden, die über den Umfang der Datei hinausgehen (wenn Sie beispielsweise tmux verwenden, wird der Vollbildmodus kopiert, da es sich nur um einfachen Text handelt).

o_o_o--
quelle

Antworten:

1

Eine Problemumgehung besteht darin, Scratch-Dateien (Remotezugriff) zum Übertragen des Texts zu verwenden:

Falls Sie SSH auf Ihr eigenes System :split scp://hostname/path/to/filezurücksetzen können, können Sie einfach den gerissenen Text dort ablegen und :write.

Wenn Sie nur SSH von Ihrem System zur Serverbox verwenden können, öffnen Sie Vim lokal und greifen Sie vom Server aus auf die Arbeitsdatei zu: vim scp://server/path/to/file(oder verwenden Sie sie einfach scpdirekt).

Dies alles wird durch das im Lieferumfang von Vim enthaltene Netrw- Plugin ermöglicht .

Ingo Karkat
quelle
0

Wenn unter MacOS SSH von Maschine A zu Maschine B und vim in Maschine B verwendet wird, füge ich dies meiner .vimrc in Maschine B hinzu:

nmap yr :call system("ssh $machineA_IP pbcopy", @*)<CR>

Auf diese Weise wird im normalen Modus der Inhalt von * registriert, wenn vim @ machine_B in die lokale Zwischenablage von Maschine A kopiert wird, vorausgesetzt, Sie haben Vim mit + Zwischenablage und * register korrekt eingerichtet

Linh
quelle