Bash (ters-i-arama)


26

Genellikle (reverse-i-search) için CTRL+ rkomutunu kullanırım, ancak bazen aradığım komutu iletirim; eğer tekrar yaparsam bir daha (reverse-i-search)bulamaz. Komut tarihçesindeki geçerli işaretçinin aradığım komuttan önce olduğunu varsayıyorum.

1000 defa tıklamak zorunda kalmadan tarihteki en güncel komuta nasıl geri döneceğini bilen var mı down arrow?


1
Geriye doğru arama, bash'ın (ve okuma satırı kütüphanelerinin) bir özelliğidir, bu yüzden başlığı değiştirdim ve soruyu biraz yansıtmak için sordum.
— Doug Harris,

İstediğiniz komutu geçerseniz, CTRL+SHIFT+Rgeri dönün
— Ricky Robinson

Yanıtlar:


7

Stackoverflow.com'da da benzer bir soru var .

En iyi cevap Ctrl+Gmevcut aramayı iptal etmek için kullanmaktır .


Bu gerçekten en iyi cevap değil. En iyi cevap Dennis Williamson tarafından verilen cevaptır: ekle (veya karşılık gelen başka bir config dosyasına) ve sonra geriye doğru olan adımlarla aynı şekilde ileriye doğru adım stty -ixonatın . İlk tuşa basma sonra değişikliklere karşı , bir sonraki ileri ilk adımı atıyor. Sonra her biri bir adım daha ileri gidiyor. .bashrcCtrl-SCtrl-GCtrl-SCtrl-Greverse-i-searchi-searchCtrl-SCtrl-S
— nrz

veya aramayı zaten sonlandırdıysanız (örneğin, esc veya bir ok tuşuna basarak), Esc tuşuna
— basıp

38

Aslında, bu soruya başka bir cevap daha iyi bir seçenek sunar.

Sizde ~/.bashrcşu satırı ekleyin:

stty -ixon

Sonra kullanabilirsiniz Ctrl- starih boyunca ileri sürdüğünüz gibi ilerlemek için Ctrl- rgeri adım kullanmak için.

Bu, tarihe göz atarken yeni bir ileri arama (tam tersi i-searcholarak adlandırılan reverse-i-search) başlatmak için bile çalışacaktır . Yaptığınızı varsayalım Ctrl- rve hedefinize yakın bir komutun bir metnini yazın, ardından aradığınızı görmeden önce birkaç kez yukarı oka basın (veya fikrinizi değiştirin). Şimdi basın Ctrl- sve bu hattan birkaç karakter yazın. Zoooom! Doğruca ona.


2
stty -ixon'un anlamı nedir? diğer durumlarda gerekli olabilecek bir şeyi devre dışı bırakır mı?
— Gregory Pakosz

7
@GregoryPakosz: Klavyeden faydasız olan XON / XOFF ( yazılım akış kontrolü ) işlevini devre dışı bırakıyor , şu anda 300 baud'dan biraz daha yüksek bir hızda iletişim kuruyoruz.
— sonraki duyuruya kadar duraklatıldı.

teşekkür ederim, bir süre googled ve aynı sonuca vardım, bugünlerde çoğunlukla işe yaramaz
— Gregory Pakosz
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.