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.