Saat ini saya telah mengatur zsh sedemikian rupa sehingga riwayat perintah dibagi antara semua sesi dengan segera.
Katakanlah saya memiliki emulator terminal terbuka dengan dua tab, masing-masing dengan sesi zsh, A1 dan A2. Jika saya memasukkan ls -la di A1, dan kemudian pergi ke A2 dan tekan tombol panah, saya akan melihat ls -la di command prompt.
Saya ingin mengubahnya sehingga sesi tidak berbagi sejarah perintah satu sama lain meskipun ketika Anda memulai sesi baru itu mendapatkan semua riwayat sebelumnya dari semua sesi sebelumnya.
zsh
command-history
Seni
sumber
sumber
Jawaban:
Anda mungkin sudah
INC_APPEND_HISTORY
siap.The
INC_APPEND_HISTORY
pilihan, dariman zshoptions
:Opsi yang Anda inginkan adalah
APPEND_HISTORY
:Anda dapat membaca tentang opsi ini di
man zshoptions
,man zshall
atau online di sini .Untuk mengaturnya, dalam
~/.zshrc
atau serupa Anda, Anda harus memiliki:Ketahuilah bahwa, jika Anda menggunakan oh-my-zsh secara default, saya yakin,
INC_APPEND_HISTORY
digunakan. Saya tidak 100% yakin di mana hal-hal dimuat, tetapi jikaoh-my-zsh
opsi menimpa yang Anda tetapkan~/.zshrc
, Anda dapat bermain-main di~/.oh-my-zsh/lib/history.zsh
sumber
echo unsetopt INC_APPEND_HISTORY >~/.oh-my-zsh/custom/history.zsh
Untuk menambah jawaban yang diterima, jika Anda menggunakan
oh-my-zsh
, Anda mungkin memilikiSHARE_HISTORY
opsi yang diaktifkan secara default.Untuk mencapai pemisahan antara cangkang yang sedang berjalan + seluruh riwayat yang digabungkan dalam terminal yang baru dibuka, Anda harus berkomentar atau menghapus baris berikut:
dari
~/.oh-my-zsh/lib/history.zsh
sumber
~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
unsetopt share_history
Anda dimuat. Didokumentasikan di sini ..zshrc
oh-my-zsh