Ctrl-R ters aramasından sonra ileri arama için tek kısayol


13

Her zaman Ctrl+ kullanıyorum R, ama çok çabuk bastığım için sık sık peşinde olduğum komutu geçiyorum.

İleriye doğru arama yapmak için, önce terminal kullanılmadığı sürece Ctrl+ Skullanılabilir (benim durumumda konsole stty -ixon, ~/.bashrcdüzelttiği yerde).

Ancak, iki kez basmam gerekiyor: bir kez modda i-searcholduktan sonra giriyor gibi görünüyor reverse-i-searchve aslında geri adım atmak için ikinci kez.

Kısayola iki kez basma ihtiyacını ortadan kaldırmanın bir yolu var mı?


3
Ctrl-R'de olduğu gibi, ilk Ctrl-S bir dizenin aranmasını bekler. İkincisi, daha önce kullandığınız aynı arama dizesini yeniden kullanır (durumunuzda Ctrl-R ile). Bu iki adımı atlatmanın bir yolunu bilmiyorum. readline"aynı dizeyi ters yönde ara" işlevinden yoksundur.
xhienne

Yanıtlar:


11

İşte farklı bir yaklaşım. Bazı temel vi düzenleme komutlarından memnunsanız, bash komut satırı düzenleme için vi modunu destekler. Eğer gerçekten vi'dan nefret ederseniz, bundan hoşlanmayacaksınız. Ancak eğer tolere edebilirseniz, tercih edilebilir ve daha az tuş vuruşuyla bulabilirsiniz.

set -o vi

Geçmiş arama şu şekilde çalışır:

  • Esc komut moduna girmek için
  • / aramaya başlamak
  • Arama dizesinin metnini yazın
  • Enter arama yapmak
  • n sonraki maça gitmek
  • N önceki maça geri atlamak
  • i ekleme moduna geri dönmek için
  • Enter komutu çalıştırmak

Ctrl-R Ctrl-S vi tarzı benzerleri nve Nsırasıyla. Ve iki kez dokunmak zorunda değiller. İlgi çekici!
Nathaniel M. Beaver

2

Görünüşe göre Bash geçmişi araması, hangi yönü aradığınızı bildirmek için kısayolun ilk basışını, ardından aramayı gerçekten gerçekleştirmek için ikinci basışını gerektirir. Kaynak kodu değiştirmeden çalışma şeklini değiştirmek mümkün olduğunu sanmıyorum.

Ancak, komut geçmişinizi kolayca görüntülemek, gezinmek, aramak ve yönetmek için gelişmiş arama seçeneklerine sahip bir öneri kutusu içeren hstr (https://github.com/dvorka/hstr) yükleyebilirsiniz :

resim açıklamasını buraya girin

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.