kembali ke akhir riwayat bash saat menggunakan pencarian terbalik?

12

Saya menyimpan riwayat bash yang cukup panjang dan kadang-kadang ketika saya mencari sesuatu dengan fungsi pencarian bash terbalik ( Ctrl+ r) saya berakhir di awal riwayat pencarian dan saya masih tidak menemukan apa yang saya butuhkan dan kemudian saya ingin pindah kembali ke akhir dari file histori. Salah satu pilihan adalah menggunakan fungsi pencarian maju ( Ctrl+ s) yang bergerak lebih dekat ke akhir riwayat atau mengeksekusi #, tetapi apakah ada juga pintasan keyboard untuk pindah langsung ke akhir riwayat bash?

Martin
sumber
2
historyakan menampilkan semua perintah bash yang dibuat ..
ryekayo

Jawaban:

6

Ada fungsi readline end-of-history, secara default dipetakan ke M- >, tetapi jika digunakan selama pencarian terbalik, ia keluar dari prompt pencarian balik.

Solusi / trik yang mungkin

Mulai pencarian string

Sebagai gantinya, untuk menggunakan pencarian terbalik, Anda dapat menggunakan history-search-backwarddan history-search-forward(default tidak dipetakan), memetakannya ke up/down(sangat berguna) di .inputrc:

# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward

Jadi, setelah mengetik, Anda dapat membalik pencarian yang menekan up (alih-alih Ctrl+ R), dan ketika Anda ingin kembali ke akhir riwayat, Anda dapat menggunakan end-of-historyfungsi dengan menekan ( M- >)

Dengan cara ini "String pencarian harus cocok di awal garis sejarah, " jadi, jika Anda mencari ls -ltr, Anda harus mengetik lsdan kemudian tekan  uptombol.

Pencarian substring

jika Anda ingin " String pencarian mungkin cocok di mana saja di baris histori, " Anda harus menggunakan history-substring-search-forward dan history-substring-search-backward:

# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward

Dengan cara ini, jika Anda mencari ls -ltr, Anda bisa mengetik ls, tetapi juga ltr, sebelum Anda menekan up.

Referensi: Manual Referensi Bash - Perintah Untuk Sejarah .

lgaggini
sumber