Frage

im Versuch, 300 Zeilen von einer Datei in einer anderen zu kopieren, in Quelldatei i-Typ "300yy", sagt sie es 300 Zeilen gezerrt hat.

go

auf Zieldatei und drücken Sie p, es Pasten, aber nur die ersten 50 Zeilen.

eine Ahnung, warum es nicht die 300 einfügen?

War es hilfreich?

Lösung

Wie bereits angedeutet in Vim Tipps Wiki , können Sie die viminfo Einstellung:

:set viminfo?
:set viminfo='100,<1000,s100,h

Was die einzelnen Bits bedeuten:

  • '100 Marks wird für die letzten 100 bearbeiteten Dateien in Erinnerung bleiben.
  • <1000 Begrenzt die Anzahl der Zeilen für jedes Register zu 1000 Zeilen gespeichert; wenn ein Register mehr als 1000 Zeilen enthält, werden nur die ersten 1000 Zeilen werden gespeichert.
  • s100 Register mit mehr als 100 KB Text sind übersprungenen.
  • h Deaktiviert die Suche hervorheben, wenn Vim startet.

Andere Tipps

Wie Eugene und Zyx sagte Ihre viminfo Einstellung der einfachste Lösung wäre,

:set viminfo-=<50,s10

Eine alternative Lösung wäre die Verwendung :read und / oder :write

Zum Einlesen von Datei-name.txt in den aktuellen Puffer

:read file-name.txt

Um den Bereich der Linie 1 bis Linie 300 aus dem aktuellen Puffer auf Datei-to-append.txt

anhängen

:1,300write >> file-to-append.txt

Sie können auch Zeichen anstelle von Zeilennummern wie die Sichtmarkierungen verwenden

:'<,'>write >> file-to-append.txt

Natürlich Anfügen nicht in der Lage sein, Ihren Anwendungsfall zu erfüllen, in der die viminfo Veränderungen werden wahrscheinlich am besten funktionieren.

:help :write
:help :read
:help 'viminfo'
:help :set-=

Bleiben Sie in der gleichen Sitzung (öffnen Sie die neue Datei zu tun: e-Pfad)., Und Sie werden keine Einschränkung haben

try vim -p file1 file2. Es öffnet sich jede Datei in einem neuen Tab (was super ist), und es löst die copy / paste Grenze

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top