Saya senang menggunakannya zsh
sejak beberapa waktu sekarang, dan saya cukup puas dengan pengaturan riwayat saya, yaitu:
# Write to history immediately
setopt inc_append_history
# History shared among terminals
setopt share_history
# Save extended info in history
setopt extended_history
# Ignore duplicates
setopt hist_ignoredups
Tetapi sering terjadi bahwa saya perlu menggunakan perintah khusus di dalam beberapa direktori tertentu. Misalnya, ketika saya berada di dalam ~/my_project
saya biasanya memohon make target1 && ./run1
, tetapi ketika saya di dalam ~/second_project
saya biasanya perlu make target2 && cat foobar | ./run2
.
Yaitu: direktori berbeda, tetapi perintah serupa.
Jadi, saya biasanya cd ~/my_project
mengetik make
dan kemudian mencari ke belakang dalam sejarah sampai saya menemukan apa yang saya butuhkan. Tetapi jika kebetulan saya bekerja second_project
, ketika mencari sejarah saya akan menemukan beberapa perintah yang tidak saya butuhkan.
Jadi, pertanyaan saya: apakah ada plugin / pengaturan / sesuatu untuk zsh sehingga, ketika mencari di riwayat, perintah yang dipanggil dalam direktori saat ini ditampilkan terlebih dahulu?
Idealnya, setiap perintah histori pencocokan lainnya akan muncul setelah itu, secara opsional menentukan jumlah maksimum elemen prioritas.
Saya akan mencoba untuk menulis sesuatu seperti ini sendiri, tetapi saya masih tidak tahu bagaimana menulis plugin zsh khusus, bagaimana menangani sejarah dan sebagainya.