Wenn ich das erste VIM zum Kopieren einer Zeile (mit yy
) verwende, wie füge ich es in das VIM eines anderen Terminals (mit p
) ein? Gibt es irgendwelche Befehle oder Einstellungen, die das können? Kann ich kopieren und in die globale Systemzwischenablage einfügen?
Ich weiß, dass die folgenden Möglichkeiten möglich sind, aber ich möchte eine einfachere:
Ich möchte das erste vim nicht verlassen und das zweite vim wieder öffnen.
Ich möchte kein separates Fenster (mit
:sp
) verwenden.
"*yy
,"*p
Funktioniert auch. Wenn du:reg
Die beste Lösung, die für mich funktioniert hat (für die ich meine Tastenkombinationen nicht ändern muss), ist hier: https://stackoverflow.com/questions/9166328/how-to-copy-selected-lines-to-clipboard-in- vim
Einfach gesagt:
in deinem
.vimrc
.quelle
set clipboard=unnamedplus
in Kombination mit GVim installieren. Ich konnte jedoch xfce4-terminal für Vim anstelle des eigentlichen GVim-Programms verwenden.Ich mag die Lösung von Bill und habe ein Mapping erstellt:
Der erste im visuellen Modus kopiert alles in / tmp / vitmp und der zweite kopiert den Inhalt aus / tmp / vitmp in die Datei
quelle
"*y
scheint auf ServernIch wechsle zwischen verschiedenen Rechnern der Unix-Familie und habe festgestellt, dass die folgende Reihenfolge immer für mich funktioniert:
In der Source vi Session:
ESC m a
erste Zeile markierenESC m b
letzte Zeile markieren:'a,'b w! xfer
diese Option, um den Bereich in eine Arbeitsdatei zu schreibenIn der Zielsitzung:
ESC :r xfer
in Text lesenIch weiß, es ist nicht schön, aber es funktioniert immer für mich!
quelle
Es ist eigentlich ganz einfach: Installieren Sie eine Version
vim
, die die Zwischenablage unterstützt. Wennvim
dies nicht der Fall ist, erhalten Sie eine der folgenden Antworten:Einmal installiert, einfach ausführen
vim
. Sie können auch überprüfen, ob die Zwischenablage aktiviert ist, indem Sie Folgendes ausführen:du solltest sehen
+xterm_clipboard
.quelle
Sie werden diese Antwort wahrscheinlich alle hassen. Ich habe in den 80ern in vi auf einer Vielzahl von Unix-Computern gearbeitet und hatte in letzter Zeit die Gelegenheit, in Linux herumzuspielen.
Meine Lösung zum Ausschneiden und Einfügen ist die Verwendung von Putty unter Windows, um auf meine Linux-Box zuzugreifen.
Mit Putty können Sie jeden Text in sein Fenster kopieren, indem Sie ihn einfach markieren. Sie können dann zu einem anderen Putty-Fenster / einer anderen Putty-Sitzung wechseln und mit der rechten Maustaste klicken, um sie einzufügen.
Einfacher geht es nicht. und jetzt gibt es vim. Schade, dass es zu meiner Zeit noch keine gab, es hätte mir geholfen, die Emacs-Mafia abzuwehren.
quelle
Es wird nicht genau yy verwendet, aber wenn Sie den zu kopierenden Text mit der Maus auswählen (manchmal müssen Sie Shift- [drag] verwenden), wechseln Sie zum anderen Terminalfenster und führen Sie einen [mittleren Klick] oder Shift- [middle aus Klicken Sie dort auf], um den Text an der aktuellen Einfügemarke einzufügen.
Dies funktioniert für die meisten Befehlszeilen- und GUI-Programme, nicht nur für vim.
quelle