Ich kann eine Datei katzen, Text kopieren und mit der mittleren Taste einfügen oder bei gedrückter Umschalttaste einfügen.
Wie kann ich Text in vim kopieren und aus der System-Zwischenablage einfügen?
:!sed -n 5,10p %
:!cat %
Ich kann eine Datei katzen, Text kopieren und mit der mittleren Taste einfügen oder bei gedrückter Umschalttaste einfügen.
Wie kann ich Text in vim kopieren und aus der System-Zwischenablage einfügen?
:!sed -n 5,10p %
:!cat %
Antworten:
Sie müssen sich mit der Vim haben clipboard
und xtermclipboard
Funktionen in. In Ubuntu zusammengestellt, sind diese nur mit den vim GUI - Paketen zur Verfügung ( vim-gnome
, vim-gtk
, vim-athena
, etc.).
Sobald Sie eines davon installiert haben, können Sie es in die Zwischenablage-Register ( *
und +
) kopieren (und aus diesen einfügen ). Aus diesem sehr informativen Beitrag zu Vi und Vim :
Für X11- basierte Systeme (dh Linux und die meisten anderen UNIX- ähnlichen Systeme) gibt es zwei voneinander unabhängige Zwischenablagen:
- PRIMARY - Dies ist Copy-on-Select und kann mit der mittleren Maustaste eingefügt werden.
- CLIPBOARD - Dies wird (normalerweise) kopiert
^C
und eingefügt^V
(es ist wie bei MS Windows).
Vim hat 2 spezielle Register, die diesen Zwischenablagen entsprechen:
*
verwendet PRIMARY; mnemonic: s tar ist s (für Copy-on- wählen s elect)+
verwendet CLIPBOARD; Mnemonik: STRG + C (für die allgemeine Tastenkombination)
Um in ein Register zu kopieren, müssen Sie dem Kopierbefehl ( y
) "
den Namen des Registers ( *
zum Beispiel) voranstellen . "*y
Klicken Sie dann mit der mittleren Maustaste, um sie einzufügen, oder "+y
und, ShiftInsertum sie einzufügen.
Eine recht interessante Lösung ergibt sich aus dieser Frage. Installieren Sie xclip, leiten Sie die Ausgabe eines Befehls an xclip weiter ( cat file | xclip -selection clipboard
zum Beispiel) und fügen Sie ihn an einer beliebigen Stelle ein (falls dies im Terminal verwendet wird Ctrl ShiftV
). Nun stellt sich heraus, dass Sie diesen Befehl tatsächlich auf kürzen können xclip -sel clip
, was aus dem Lesen der Manpage oder der dortigen Beispiele nicht genau ersichtlich ist.
/dev
, aber der Text wird immer noch irgendwo gespeichert, oder?
Ich hatte ein Problem, weil mein vim die Zwischenablage nicht unterstützte :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Ich habe vim-gnome (das die Zwischenablage unterstützt) installiert und dann erneut überprüft:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Jetzt kann ich mit "+ y" und "+ p" kopieren und einfügen.
sed -n5,10p
Zeilen 5-10, damit ich leichter kopieren und einfügen kann, ohne dass vim auf die Maus reagiert.