vim Speicher begrenzt Linie
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.
goauf Zieldatei und drücken Sie p, es Pasten, aber nur die ersten 50 Zeilen.
eine Ahnung, warum es nicht die 300 einfügen?
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