cos'è .netrwhist?


122

Quando modifico i file nel mio ~/.vim, anche il .netrwhistfile viene misteriosamente modificato.

È contenuto:

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

Cosa fa questo file? È importante?

Risposte:


118

netrw è una sorta di plugin / script vim che supporta la lettura e la scrittura di file attraverso le reti. .netrwhistè un file di cronologia che conserva tutte le directory che sono state modificate. Quindi, ogni volta che ne modifichi il contenuto ~/.vim, aggiunge una voce.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_dirhistmaxindica il numero massimo di directory modificate che memorizza nel file della cronologia. cioè Dimensione massima cronologia. netrw_dirhist_cntindica il conteggio della cronologia corrente delle directory modificate.

Se vuoi disabilitare netrw per generare il file di cronologia, guarda questo .


1
OK ma ... perché netrw mantiene un file di cronologia? Se lo elimino automaticamente come suggerito dal tuo link, cosa si interrompe?
Han Seoul-Oh

1
Correlato, se è destinato a file remoti , perché registra i percorsi per i file locali?
zaTricky

13

Inoltre, se si imposta g:netrw_dirhistmaxa zero, netrw non salverà alcuna cronologia o segnalibri:

:let g:netrw_dirhistmax = 0

Tuttavia, ciò non causerà l'eliminazione di precedenti .netrwhisto .netrwbookfile.


1
@glts ma ... qual è lo svantaggio di netrw che non salva i segnalibri della cronologia? Cosa c'è di diverso nella mia esperienza con Vim invece?
Han Seoul-Oh,

11

Inoltre, nel caso in cui desideri che vim rispetti le specifiche della directory di base XDG per evitare che la tua cartella home sia disseminata di dotfile come ~/.vim, potresti voler dividere i file memorizzati nella cache ei file della cronologia dalla tua configurazione (che di solito risiede nel runtime sentiero). Così, per esempio, per memorizzare .netrwhistin ~/.cache/vim, si consiglia di provare

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

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

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

3

Dal manuale di riferimento di 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(controlla con :echo &runtimepath). Sono bravo 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=0smetterà di scrivere nel file della cronologia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.