Saya menggunakan Ctrl+ Rsepanjang waktu, tetapi saya sering berakhir melewati perintah yang saya kejar karena saya menekannya dengan sangat cepat.
Untuk meneruskan pencarian, Ctrl+ Sdapat digunakan asalkan tidak digunakan terminal terlebih dahulu (konsole dalam kasus saya, di mana stty -ixon
dalam ~/.bashrc
memperbaikinya).
Namun, saya harus menekannya dua kali: sekali sepertinya masuk i-search
setelah dalam reverse-i-search
mode dan kedua kalinya untuk benar-benar mundur.
Apakah ada cara untuk menghapus kebutuhan untuk menekan pintasan dua kali?
bash
keyboard-shortcuts
readline
jozxyqk
sumber
sumber
readline
tidak memiliki fungsi "cari string yang sama sebaliknya".Jawaban:
Ini pendekatan yang berbeda. Jika Anda merasa nyaman dengan beberapa perintah pengeditan dasar vi, bash mendukung mode-vi untuk pengeditan baris perintah. Jika Anda benar-benar benci vi, Anda tidak akan menyukai ini. Tetapi jika Anda bisa menoleransi itu, Anda mungkin menemukan itu lebih disukai dan dengan penekanan tombol lebih sedikit.
set -o vi
Pencarian riwayat berfungsi seperti ini:
Esc
untuk masuk ke mode perintah/
untuk memulai pencarianEnter
untuk melakukan pencariann
untuk pergi ke pertandingan berikutnyaN
untuk melompat kembali ke pertandingan sebelumnyai
untuk kembali ke mode insertEnter
untuk menjalankan perintahsumber
n
danN
, masing-masing. Dan mereka tidak perlu mengetuk dua kali. Menarik!Rupanya pencarian Bash history membutuhkan penekanan pintasan pertama untuk memberi tahu Anda arah mana yang Anda cari, lalu tekan kedua untuk benar-benar melakukan pencarian. Saya rasa tidak mungkin untuk mengubah cara kerjanya tanpa mengubah kode sumber.
Namun, Anda dapat menginstal hstr (https://github.com/dvorka/hstr) yang menampilkan kotak saran dengan opsi pencarian lanjutan untuk dengan mudah melihat, menavigasi, mencari, dan mengelola riwayat perintah Anda:
sumber