2012-01-19 16 views
10

he tenido el comando¿Qué establece la historia de vim?

set history=10000 

en mi .vimrc por un tiempo, y se dio cuenta de que no estaba poniendo la historia -

:set history 

impresiones 20.

Luego moví set history=10000 hasta el final de mi .vimrc y lo reordeno, y ahora history=10000 según lo solicitado.

No hay otras instancias de set history en mi .vimrc. ¿Qué otros comandos establecen la longitud del historial? ¿Es posible que las definiciones de funciones anulen la historia? ¿Hay otras configuraciones que me preocupe anular?

Respuesta

17

De acuerdo con la ayuda,

'historia' 'hola' número (por defecto Vim: 20, por defecto Vi: 0)

NOTA: Esta opción se establece en el valor predeterminado Vi cuando 'compatible' es establecido y con el valor predeterminado de Vim cuando se restablece 'compatible'.

, por lo que si usted tiene set nocompatible en algún lugar del vimrc (que es muy común que se produzca), entonces set history debe ir después de esta declaración. Es una regla genérica: no importa lo que escriba, debe ir después de set nocompatible. Es debe ir después de set nocompatible si se trata de una opción. Hay algunas cosas (incluidas algunas opciones) que son seguras para aparecer antes, pero lo único que uso antes de esta declaración es un guardia.

+0

+1: ¡No lo había visto! – Johnsyweb

+0

Esta puede haber sido la razón, por la que estaba perdiendo mi historial. ¿Hay alguna circunstancia común cuando su archivo viminfo puede restablecerse? –

+0

@ alpha_989 Nada de lo que sé, salvo forzar la escritura de viminfo con ': wviminfo!' (Nota: sin bang leerá y fusionará), y eso normalmente debería "reiniciar" viminfo si la opción '& viminfo' está cerca de blanco en términos de establecer qué datos escribir (o estaba cerca de blanco al leer) (aunque no está completamente vacío, eso deshabilita viminfo). – ZyX

22

Tipo:

:verbose set history 

Esto le dirá desde donde fue 'history' último conjunto.

NB: Si dice:

history=20 
     Last set from ~/.vimrc 

... y usted no tiene ninguno o set hi=20set history=20 en su .vimrc, es necesario asegurarse de que tiene set history=10000despuésset nocp, según ha destacado ZyX's answer. Esto es probablemente por qué encontró que funcionó cuando movió esto al final de su archivo de inicialización.

+1

(+1) ¡Bien! ..... – NPE

+1

'nocp' era realmente el problema. He aceptado la otra respuesta, pero espero que esto tenga suficientes votos ascendentes para captar la atención de la gente, ya que la parte "verbosa" es útil. – keflavich

Cuestiones relacionadas