apa itu .netrwhist?

122

Ketika saya mengedit file di saya ~/.vim, .netrwhistfile itu secara misterius akan berubah juga.

Isinya:

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

Apa fungsi file ini? Apakah itu penting?

Lai Yu-Hsuan
sumber

Jawaban:

118

netrw adalah sejenis plugin / skrip vim yang mendukung membaca dan menulis file di seluruh jaringan. .netrwhistadalah file sejarah yang menyimpan semua direktori yang telah dimodifikasi. Jadi, setiap kali Anda memodifikasi isinya ~/.vim, tambahkan satu entri.netrwhist

Sampel .netrwhistseperti yang ditunjukkan

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_dirhistmaxmenunjukkan jumlah maksimum direktori yang dimodifikasi yang disimpannya di file riwayat. yaitu Ukuran Sejarah Maks. netrw_dirhist_cntmenunjukkan jumlah riwayat terkini dari direktori yang dimodifikasi.

Jika Anda ingin menonaktifkan netrw untuk menghasilkan file riwayat, lihat ini .

Pavan Manjunath
sumber
1
OK tapi ... mengapa netrw mempertahankan file sejarah? Jika saya menghapusnya secara otomatis seperti yang disarankan oleh tautan Anda, jeda apa?
Han Seoul-Oh
1
Terkait, jika ditujukan untuk file jarak jauh , mengapa ini merekam jalur untuk file lokal?
zaTricky
13

Selain itu, jika satu set g:netrw_dirhistmaxke nol, netrw tidak akan menyimpan riwayat atau bookmark:

:let g:netrw_dirhistmax = 0

Namun, melakukan ini tidak akan menyebabkan file .netrwhistatau sebelumnya .netrwbookterhapus.

pengguna21497
sumber
1
@glts tapi ... apa sisi negatif dari netrw yang tidak menyimpan bookmark riwayat? Apa yang berbeda tentang pengalaman saya menggunakan Vim?
Han Seoul-Oh
11

Selain itu, jika Anda ingin vim menghormati spesifikasi direktori dasar XDG untuk mencegah folder utama Anda dikotori oleh dotfiles seperti ~/.vim, Anda mungkin ingin membagi file cache dan file riwayat dari konfigurasi Anda (yang biasanya berada di runtime jalan). Jadi misalnya, untuk menyimpan .netrwhistdi ~/.cache/vim, Anda mungkin ingin mencoba

let g:netrw_home=$XDG_CACHE_HOME.'/vim'
ayekat
sumber
Jika folder .vim Anda berada di tempat lain selain .vim, kemungkinan lokasi baru ini berada di jalur runtim vim. g: netrw_home diatur ke direktori pertama pada jalur runtim secara default, yang secara default adalah $ HOME / .vim. Jadi jika Anda (ayekat) telah menyiapkan jalur proses dengan benar, Anda tidak perlu mengubah g: netrw_home.
pengguna21497
@ user21497 Ini benar. Di sisi lain, jika Anda ingin memisahkan konfigurasi Anda dari hal-hal seperti menukar file, membatalkan file, atau (seperti di sini) netrwhist, mengatur jalur runtim dengan benar hanya akan menyelesaikan sebagian dari masalah. Tetapi saya akan mengedit jawabannya untuk membuatnya sedikit lebih jelas.
ayekat
3

Dari manual referensi 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'|.

Dalam kasus saya, jalur pertama masuk runtimepathadalah ~/.vim(periksa dengan :echo &runtimepath). Saya baik-baik saja dengan itu, jadi saya tidak perlu berubah g:netrw_home.


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

Jadi, ya, let g:netrw_dirhistmax=0akan berhenti menulis ke file riwayat.

ericbn
sumber