2012-03-24 5 views
97

Quando si modificano i file nel mio ~/.vim, anche il file .netrwhist viene misteriosamente modificato.che cos'è .netrwhist?

E 'contenuto:

let g:netrw_dirhistmax =10 
let g:netrw_dirhist_cnt =6 
...and so on... 

Che cosa fa questo file fare? È importante?

risposta

95

netrw è un tipo di vim plugin/script che supporta la lettura e la scrittura di file su reti. .netrwhist è un file di cronologia che conserva tutte le directory che sono state modificate. Così ogni volta che si modifica il contenuto del ~/.vim aggiunge una voce nella .netrwhist

Un campione .netrwhist è come mostrato

let g:netrw_dirhistmax =10 
let g:netrw_dirhist_cnt =6 
let g:netrw_dirhist_1='/Users/wolever/EnSi/repos/web/env/web/lib/python2.6/site-packages/django' 
let g:netrw_dirhist_2='/private/tmp/b/.hg/attic' 
let g:netrw_dirhist_3='/Users/wolever/code/sandbox/pydhcplib-0.6.2/pydhcplib' 
let g:netrw_dirhist_4='/Users/wolever/EnSi/repos/common/env/common/bin' 
let g:netrw_dirhist_5='/Users/wolever/EnSi/repos/common/explode' 
let g:netrw_dirhist_6='/Users/wolever/Sites/massuni-wiki/conf' 

netrw_dirhistmax indica il numero massimo di cartelle modificate si memorizza nel file di storia. cioè Dimensione massima della storia. netrw_dirhist_cnt indica il conteggio della cronologia corrente delle directory modificate.

Se si desidera disabilitare netrw per generare il file di cronologia, vedere this.

12

Inoltre, se si imposta g:netrw_dirhistmax a zero, netrw farà risparmiare senza storia o segnalibri:

:let g:netrw_dirhistmax = 0 

Facendo questo non causerà alcun .netrwhist o .netrwbook file prima di essere eliminati, tuttavia.

5

Inoltre, nel caso in cui si desideri rispettare le specifiche della directory di base XDG per evitare che la cartella principale sia piena di dotfile come ~/.vim, è possibile suddividere i file memorizzati nella cache e i file di cronologia dalla configurazione (che di solito risiede nel percorso di runtime). Così, per esempio, per memorizzare .netrwhist in ~/.cache/vim, si consiglia di provare

let g:netrw_home=$XDG_CACHE_HOME.'/vim' 
+0

Se la cartella .vim è da qualche altra parte rispetto a .vim, presumibilmente questa nuova posizione si trova su Runtimepath di vim. g: netrw_home è impostato per default sulla prima directory del runtimepath, che a sua volta è di default $ HOME/.vim. Quindi se tu (ayekat) hai impostato correttamente il tuo runtimepath, non dovresti modificare g: netrw_home. – user21497

+0

@ user21497 Questo è vero. D'altra parte, se si desidera separare la propria configurazione da elementi come i file di scambio, annullare i file o (come qui) 'netrwhist', l'impostazione corretta del runtimepath risolve solo parzialmente il problema. Ma modifico la risposta per renderlo un po 'più chiaro. – ayekat

0

Dal manuale di riferimento netrw:

     *.netrwhist* 
See |g:netrw_dirhistmax| for how to control the quantity of history stack 
slots. The file ".netrwhist" holds history when netrw (and vim) is not 
active. By default, it's stored on the first directory on the user's 
|'runtimepath'|. 

Nel mio caso, il primo percorso in runtimepath è ~/.vim (controllare con :echo &runtimepath). Sto bene con quello, quindi non ho bisogno di cambiare g:netrw_home.


*g:netrw_dirhistmax*   =10: controls maximum quantity of past 
             history. May be zero to supppress 
             history. 

Quindi, sì, let g:netrw_dirhistmax=0 si fermerà la scrittura nel file di storia.