¿Cómo aumentar aún más el tamaño del historial de cmdline?

11

Ya he puesto la siguiente configuración en mi .vimrcarchivo:

set history=1000

Ha estado allí por un tiempo, trabajo en vim a diario, por lo que hasta ahora se han ejecutado muchos comandos. Sé por vim help, que las líneas de comandos duplicadas y mapeadas no se almacenan, y también dice:

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

Actualmente hay alrededor de 130 líneas en mi historial ( :hisy q:varían un poco, la segunda tiene alrededor de 90 entradas), pero en mi opinión debería haber más. Faltan algunos comandos, como abrir ciertos archivos o algunos comandos de sustitución con expresiones regulares complejas. No se ha utilizado durante un tiempo, pero tengo este tamaño de historial aumentado lo suficiente.

¿Hay otro límite que no conocía? ¿O tal vez no es una forma correcta de aumentar el tamaño del historial de cmdline?

qiubix
fuente

Respuestas:

12

Un :valor en su 'viminfo'opción puede limitar el número de comandos persistentes. Ver :help viminfo-::

: Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.
Ingo Karkat
fuente
Esto podría ser. ¿Cómo puedo cambiar esta configuración? :set viminfo=:1000va a hacer?
qiubix
1
Ese sería un valor no predeterminado. Verifique :verbose set viminfo?dónde se configuró esto, y mejor cambie esa ubicación. Como esta opción usa un conjunto de valores, es mejor usarlo :set viminfo-=:42 | set viminfo+=:1000para modificarlo.
Ingo Karkat
1
obviamente tengo que expandir el conjunto de valores usando en +=lugar de simplemente sobrescribirlo. Usando detallado obtuve: Last set from ~/.vimrcdespués de algunos valores predeterminados. No tengo ningún viminfocomportamiento de cambio de configuración , por lo que no sé qué cambiar allí. Solo agregaré esta línea con el :1000parámetro y aceptaré su respuesta cuando note un aumento en el tamaño del historial.
qiubix
¿Podría ampliar un poco esta respuesta para mostrar cómo hacer esto? Parece que :set viminfo+=:1000lo haría, pero no estoy seguro de seguir exactamente por qué restas 42 primero.
TankorSmash
1
@TankorSmash: El 42 no se resta; esto tiene la intención de eliminar la :42parte (42 es solo un número aleatorio, ya que no se conoce el número preciso en la configuración de OP) de la 'viminfo'opción. Si no tiene un valor predeterminado existente, set viminfo+=:1000será suficiente.
Ingo Karkat