Saya baru saja beralih dari bash ke zsh. Dalam bash, satu cara (selain pencarian rekursif) yang saya gunakan untuk menemukan perintah yang sebelumnya dijalankan adalah history | grep whatever
, di mana whatever
bit perintah yang saya ingat.
Di zsh, ini tidak berfungsi. history
mengembalikan hanya beberapa item, walaupun .zsh_history
file saya mengandung banyak entri, yang telah saya konfigurasikan untuk melakukannya.
Bagaimana saya bisa menampilkan seluruh sejarah saya, cocok untuk pencarian grep
?
alias history="history 0"
alias h='history 1 | grep'
~/.zsh_history
memiliki 10066 baris, tetapihistory 0
(atau yang setara,fc -l 0
), hanya mencetak 4999 baris.history 1 | grep
orang - orang, saya harap Anda tahu tentangctrl+r
- trik / jalan pintas terbaik yang pernah ada!Jawaban yang diterima benar, tetapi perlu dicatat bahwa Anda tidak perlu memanggil
grep
biner eksternal untuk melakukan pencarian, karena kemampuan itu dimasukkan. Saya memiliki fungsi ini didefinisikan dalam.zshrc
:Catatan:
fc
adalah zsh builtin yang mengontrol sejarah interaktif.history
setara denganfc -l
.The
-m
bendera membutuhkan pola, yang harus dikutip.The
-i
bendera menambahkan catatan waktu.fc
memiliki banyak trik lainnya (mis. membatasi pencarian ke riwayat internal untuk sesi saat ini). Lihatzshbuiltins(1)
halaman manual atau dokumentasi resmi .sumber
Lihatlah fzf . Ini membantu tidak hanya menemukan "partikel apa saja" dalam riwayat shell Anda, tetapi juga di tempat-tempat menarik lainnya, misalnya riwayat browser, riwayat direktori, dll.
fzf adalah pencari fuzzy baris perintah. Itu berarti Anda dapat mencari partikel atau fraksi dari apa yang Anda cari dan itu akan menampilkan koleksi yang cocok yang dapat Anda saring terus menerus. Ini benar-benar pengubah permainan.
The homepage dari penulis berisi sejumlah contoh ilustrasi.
sumber