Dalam zsh
, saya ingin memiliki sejarah tanpa batas. Saya mengatur HISTSIZE=
, yang bekerja di bash
. Sekarang saya mengimpor sejarah lama
mv old_history .history
yang cukup besar
wc -l .history
43562 .history
Jika saya sekarang tutup dan mulai zsh
lagi, saya mengerti
wc -l .history
32234 .history
Tidak bisakah saya memiliki riwayat tanpa batas zsh
?
zsh
command-history
pnuesel
sumber
sumber
Jawaban:
Ada batas dan kemungkinan mesin Anda.
Dari milis ZSH :
Yang menjelaskan solusi Gentoo:
Riwayat tidak akan disimpan tanpa perintah berikut:
Untuk mencegah riwayat merekam entri yang digandakan (seperti ls-l yang dimasukkan berkali-kali selama sesi shell tunggal), Anda dapat mengatur opsi hist_ignore_all_dups:
Trik yang bermanfaat untuk mencegah entri tertentu dicatat ke dalam riwayat dengan mendahului mereka dengan setidaknya satu ruang.
sumber
50000
, tetapi itu tidak akan memperbaiki masalah saya.Anda harus mengatur keduanya
HISTSIZE
danSAVEHIST
. Mereka menunjukkan berapa banyak baris sejarah untuk disimpan dalam memori dan berapa banyak baris untuk disimpan dalam file histori, masing-masing.Saya tidak berpikir zsh memiliki pengaturan yang berarti "tak terbatas", tetapi untuk semua tujuan praktis, satu miliar tidak terbatas, sementara sisanya dapat diwakili mesin pada mesin 32-bit.
sumber
Saya mengalami masalah dengan sejarah yang dibatasi
10000
hingga saya menyadari oh-my-zsh menetapkan nilaiHISTSIZE
danSAVEHIST
nilai sendiri . TL; DR, pastikan untuk meletakkan garis di bagian bawah Anda.zshrc
.sumber
Masalahnya bukan dengan
zsh
atau saya.zshrc
, tetapi dengan sejarah saya. Ada beberapa entri yang aneh sepertiyang bingung
zsh
dan semuanya setelah entri ini terpotong. Saya tidak tahu karakter apa yang^@
sesuai, atau bagaimana entri ini berakhir dalam riwayat saya, tetapi menghapusnya memperbaiki masalah.sumber
terminology
danvim
.^@
adalah karakter ASCII NUL (\0
).