geri aramayı kullanırken bash tarihinin sonuna geri dönecek misiniz?


12

Oldukça uzun bash geçmişi tutuyorum ve bazen bash ters arama fonksiyonu ( Ctrl+ r) ile bir şey aradığımda arama geçmişinin başlangıcındayım ve hala ihtiyacım olanı bulamadım ve sonra sonuna geri dönmek istiyorum geçmiş dosyasının. Seçeneklerden biri , geçmişin sonuna yaklaşan veya yürüten ileri arama işlevini ( Ctrl+ s) kullanmaktır #, ancak doğrudan bash tarihinin sonuna gitmek için bir klavye kısayolu da vardır?


2
historysize yapılan tüm bash komutlarını gösterecektir ..
ryekayo

Yanıtlar:


6

end-of-historyVarsayılan olarak M- ile eşlenen okuma çizgisi işlevi vardır >, ancak ters arama sırasında kullanılırsa ters arama isteminden çıkar.

Olası bir geçici çözüm / hile

Dize aramayı başlat

Bunun yerine, geriye doğru aramayı kullanmak için, history-search-backwardve history-search-forwardöğelerinizi (varsayılan olarak eşlenmemiş) kullanarak bunları aşağıdakilerinizde up/down(çok yararlı) ile eşleyebilirsiniz .inputrc:

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

Böylece, yazdıktan sonra up ( Ctrl+ yerine R) tuşuna basarak aramayı tersine çevirebilirsiniz ve geçmişin sonuna dönmek istediğinizde end-of-history( M- >) tuşuna basarak işlevi kullanabilirsiniz.

Bu şekilde "Arama dizesi bir geçmiş satırının başlangıcında eşleşmelidir ", bu nedenle, ararsanız ls -ltr, yazmanız lsve ardından tuşuna  upbasmanız gerekir.

Alt dize arama

İsterseniz " arama dizesi bir geçmişi hattında herhangi bir yerde eşleşebilir, " Kullanmak zorunda history-substring-search-forward ve history-substring-search-backward:

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

Bu şekilde, için arama yaparsanız ls -ltr, siz yazabilirsiniz lsda ancak ltrsen basmadan önce, up.

Referans: Bash Referans Kılavuzu - Geçmiş Komutları .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.