Wie kann die Größe des cmdline-Verlaufs weiter erhöht werden?


11

Ich habe bereits die folgende Einstellung in meine .vimrcDatei aufgenommen:

set history=1000

Es ist schon eine Weile da, ich arbeite täglich in vim, daher wurden inzwischen viele Befehle ausgeführt. Ich weiß aus der vim-Hilfe, dass Duplikate und zugeordnete Befehlszeilen nicht gespeichert werden, und es heißt auch:

Use the 'history' option to set the number of lines that are remembered
(default: 20).

Derzeit gibt es ungefähr 130 Zeilen in meiner Geschichte ( :hisund q:variieren ein wenig, die zweite hat ungefähr 90 Einträge), aber meiner Meinung nach sollte es mehr geben. Es fehlen einige Befehle, z. B. das Öffnen bestimmter Dateien oder einige Ersetzungsbefehle mit komplexem regulären Ausdruck. Es wurden für eine Weile nicht verwendet, aber ich habe diese Geschichte Größe lange genug erhöht.

Gibt es eine andere Grenze, von der ich nichts wusste? Oder ist es nicht die richtige Methode, um die Größe des cmdline-Verlaufs zu erhöhen?

Antworten:


12

Ein :Wert in Ihrer 'viminfo'Option kann die Anzahl der beibehaltenen Befehle begrenzen. Siehe :help viminfo-::

: Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.

Das könnte es sein. Wie kann ich diese Einstellung ändern? :set viminfo=:1000Wird besorgt?
Qiubix

1
Das wäre ein nicht standardmäßiger Wert. Überprüfen Sie, :verbose set viminfo?wo dies eingestellt wurde, und ändern Sie am besten diesen Ort. Da diese Option eine Reihe von Werten verwendet :set viminfo-=:42 | set viminfo+=:1000, empfiehlt es sich , sie zu ändern.
Ingo Karkat

1
Natürlich muss ich den Wertesatz erweitern, indem ich ihn +=nur überschreibe. Mit wortreich habe ich bekommen: Last set from ~/.vimrcnach einigen Standardwerten. Ich habe keine Einstellungen, die das viminfoVerhalten ändern , daher weiß ich nicht, was ich dort ändern soll. Ich füge diese Zeile nur mit :1000Parameter hinzu und akzeptiere Ihre Antwort, wenn ich eine Zunahme der Verlaufsgröße bemerke.
Qiubix

Könnten Sie diese Antwort etwas erweitern, um zu zeigen, wie das geht? Scheint, als :set viminfo+=:1000würde ich es tun, aber ich bin mir nicht sicher, ob ich genau folge, warum Sie zuerst 42 davon abziehen.
TankorSmash

1
@TankorSmash: Die 42 wird nicht abgezogen; Dadurch soll der :42Teil (42 ist nur eine Zufallszahl, da die genaue Zahl in der OP-Konfiguration nicht bekannt ist) aus der 'viminfo'Option entfernt werden. Wenn Sie dort keine Standardeinstellung haben, set viminfo+=:1000wird dies in der Tat ausreichen.
Ingo Karkat

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.