.netrwhist nedir?


122

Benim dosyamdaki dosyaları düzenlediğimde ~/.vim, .netrwhistdosya da gizemli bir şekilde değişecektir.

Bu içerik:

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

Bu dosya ne işe yarar? Önemli mi?

Yanıtlar:


118

netrw, ağlar üzerinden dosya okuma ve yazmayı destekleyen bir tür vim eklentisi / betiğidir . .netrwhistdeğiştirilen tüm dizinleri tutan bir geçmiş dosyasıdır. Eğer içeriğini değiştirmek için her Yani ~/.vimbunun bir giriş ekler.netrwhist

Bir örnek .netrwhistgösterildiği gibidir

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_dirhistmaxgeçmiş dosyasında sakladığı değiştirilmiş dizinlerin maksimum sayısını gösterir. yani Maksimum Geçmiş Boyutu. netrw_dirhist_cntdeğiştirilen dizinlerin geçerli geçmiş sayısını gösterir.

Eğer geçmiş dosyası oluşturmak için devre dışı netrw istiyorsanız, o zaman bakın bu .


1
Tamam ama ... netrw neden bir geçmiş dosyası tutuyor? Bağlantınızın önerdiği şekilde otomatik olarak silersem, hangi kesintiler olur?
Han Seul-Oh

1
İlgili, uzak dosyalar için tasarlanmışsa , neden yerel dosyalar için yol kaydediyor?
zaTricky

13

Ek olarak, eğer biri g:netrw_dirhistmaxsıfıra ayarlanırsa , netrw hiçbir geçmiş veya yer imi kaydetmez:

:let g:netrw_dirhistmax = 0

Ancak bunu yapmak, önceki dosyaların .netrwhistveya .netrwbookdosyaların silinmesine neden olmaz .


1
@glts ama ... netrw'nin geçmiş yer imi kaydetmemesinin dezavantajı nedir? Onun yerine Vim kullanma deneyimimin farkı nedir?
Han Seul-Oh

11

Ek olarak, vim'in ana klasörünüzün dotfile'lar tarafından dağılmasını önlemek için XDG temel dizin özelliklerine uymasını ~/.vimistiyorsanız, önbelleğe alınmış dosyaları ve geçmiş dosyalarını yapılandırmanızdan (genellikle çalışma zamanında bulunan) ayırmak isteyebilirsiniz. yolu). Örneğin, depolamak .netrwhistiçin ~/.cache/vim, denemek isteyebilirsiniz.

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

.Vim klasörünüz .vim dışında bir yerdeyse, muhtemelen bu yeni konum vim'in runtimepatı üzerindedir. g: netrw_home, varsayılan olarak runtimepath üzerindeki ilk dizine ayarlanır, bu da varsayılan olarak $ HOME / .vim'dir. Öyleyse (ayekat) runtimepath'inizi doğru bir şekilde ayarladıysanız, g: netrw_home'u değiştirmenize gerek kalmaz.
user21497

@ user21497 Bu doğrudur. Öte yandan, yapılandırmanızı takas dosyaları, dosyaları geri alma veya (burada olduğu gibi) gibi şeylerden ayırmak isterseniz netrwhist, runtimepath'i doğru şekilde ayarlamak sorunu yalnızca kısmen çözer. Ama bunu biraz daha netleştirmek için cevabı düzenleyeceğim.
ayekat

3

Netrw referans kılavuzundan:

                        *.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'|.

Benim durumumda, ilk yolu runtimepatholan ~/.vim(ile çek :echo &runtimepath). Bunda iyiyim, bu yüzden değişmeme gerek yok g:netrw_home.


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

Yani, evet, let g:netrw_dirhistmax=0geçmiş dosyasına yazmayı bırakacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.