807 Stimmen

Alle Zeilen in die Zwischenablage kopieren

Gibt es eine Möglichkeit, alle Zeilen aus der geöffneten Datei in die Zwischenablage des VI-Editors zu kopieren? Ich habe versucht yG aber es verwendet nicht die Zwischenablage, um diese Zeilen zu speichern.

Ist es also möglich?

1 Stimmen

1 Stimmen

Wenn Sie Windows verwenden und yank nicht funktioniert, lesen Sie die 17. Antwort von oben: stackoverflow.com/questions/1620018/

8voto

Abdul Basit Punkte 81

Kopieren Sie die gesamte Datei in den Vim oder seine Tabs

y G 

wechseln Sie dann zu einer Registerkarte und fügen Sie mit

p

und zum Ausschneiden der gesamten Datei verwenden Sie

d G

7voto

kev Punkte 145226

GVim:

:set go=a

ggVG

Siehe :help go-a :

'a' Autoselect:  If present, then whenever VISUAL mode is started,
 or the Visual area extended, Vim tries to become the owner of
 the windowing system's global selection.  This means that the
 Visually highlighted text is available for pasting into other
 applications as well as into Vim itself.  When the Visual mode
 ends, possibly due to an operation on the text, or when an
 application wants to paste the selection, the highlighted text
 is automatically yanked into the "* selection register.
 Thus the selection is still available for pasting into other
 applications after the VISUAL mode has ended.
     If not present, then Vim won't become the owner of the
 windowing system's global selection unless explicitly told to
 by a yank or delete operation for the "* register.
 The same applies to the modeless selection.

7voto

paxdiablo Punkte 809679

Wenn Sie Vim im visuellen Modus verwenden, gelten auch die Standardtasten zum Ausschneiden und Einfügen, zumindest unter Windows.

  • CTRLA bedeutet "Markieren Sie die gesamte Datei.
  • CTRLC bedeutet "Kopieren Sie die Auswahl.
  • ESC bedeutet "Auswahl aufheben, damit beim nächsten Tastendruck nicht die gesamte Datei ersetzt wird :-)

Zumindest unter Ubuntu Terminal (Gnome) funktioniert auch die Standardkopie ( CTRLSHIFTC obwohl es anscheinend keine Standard-Tastaturkürzel für select all (ausgenommen ALTE gefolgt von A ).

7 Stimmen

Wenn Sie aber nicht mswin.vim verwenden, dann erhöht ctrl-a die nächste Zahl in der aktuellen Zeile.

0 Stimmen

@Mark, dieses Verhalten stammt von einer Standard-Vim-Installation, also nehme ich an, dass dies die Voreinstellung ist. Alles ist möglich, wenn die Umgebung anders konfiguriert ist, obwohl, wenn das der Fall wäre, würde ich vermuten, dass der OP weiß, was er tut :-) In jedem Fall hat der Betreiber in einem Kommentar angegeben, dass er Ubuntu benutzt, also trifft der Windows-Teil meiner Antwort wahrscheinlich nicht zu. Der Gnome-Terminal-Teil aber schon.

5voto

Ma'moon Punkte 41

:%y a Legt den gesamten Inhalt in den Puffer von vim, Drücken von p im Befehlsmodus fügt den ausgelagerten Inhalt nach der Zeile ein, in der sich der Cursor gerade befindet.

5voto

Abhinav Deshpande Punkte 549

Ich habe einige der Befehle ausprobiert, die oben genannt wurden. Keiner funktionierte. Dann habe ich den einfachsten Befehl von allen ausprobiert.

Schritt 1: vi <filename>
Schritt 2: Rechtsklick auf die Titelleiste des Putty-Fensters
Schritt 3: Wählen Sie "Clear scrollback" (um zu vermeiden, dass der Rest Ihrer SSH-Sitzung kopiert wird)
Schritt 4: Klicken Sie erneut mit der rechten Maustaste und wählen Sie "Alles in die Zwischenablage kopieren".

1 Stimmen

Bei einer Datei mit 15000 Zeilen wurde nicht alles erfasst. Ich mußte den Putty-Wert erhöhen. Window > Settings > lines of scrollback bis 40000 (auch durch Rechtsklick auf die Titelleiste verfügbar). Es hilft auch, wenn Sie cat anstelle von vi, da dadurch der gesamte Text durchlaufen wird.

1 Stimmen

Auf diese Weise gingen immer Zeilen am Anfang und am Ende der Datei verloren. Jetzt klicke ich mit der Maus und dann mit der mittleren Maustaste auf den Anfang und das Ende der Datei, um die Auswahl zu erweitern.

0 Stimmen

Als ich das versuchte, bekam ich nur die 111 Zeilen auf dem Bildschirm, aber in meiner Datei sind 174 Zeilen, also funktionierte Noumenons Katzenantwort für mich

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X