Saya telah membaca sejumlah jawaban untuk pertanyaan serupa baik di forum ini maupun di tempat lain, tetapi saya tidak dapat membuatnya bekerja untuk saya.
Saya mencoba memetakan ulang Ctrl +W untuk menghapus kata teruskan ketimbang mundur. Saya tahu bahwa saya dapat menggunakan Esc +D lakukan ini, tetapi ini juga merupakan latihan pembelajaran bagi saya.
Menggunakan apa yang telah saya baca, saya telah menambahkan yang berikut ini di ~/.inputrc
:
$include /etc/inputrc
Control-w: kill-word
- Baris pertama, tampaknya, diperlukan jika saya ingin menyertakan binding lainnya.
- Untuk yang kedua, saya sudah mencoba
Control-w
dan"\C-w"
, dan untuk perintahnya, saya telah mencobakill-word
danshell-kill-word
. - Untuk mencoba perubahan, saya telah mencoba
bind -f ~/.inputrc
, Ctrl +X , Ctrl +R ,bash -l
dan cukup membuka terminal baru.
Saya berasumsi bahwa saya telah melewatkan beberapa langkah penting, atau hanya salah paham, tetapi saya kehabisan ide.
Saya menggunakan Centos 8.
Jawaban yang Diterima:
Pustaka readline (yang merupakan inputrc
mengkonfigurasi) mengatur pengikatan yang sesuai dengan pengikatan driver terminal untuk input yang dimasak. Ini umumnya dikenal sebagai kunci stty karena dapat dikonfigurasi dengan perintah stty
. Ctrl +L adalah pengikatan untuk menghapus kata sebelumnya (werase
) di antarmuka terminal yang dimasak.
Binding tersebut lebih diutamakan daripada binding eksplisit di .inputrc
. Untuk menonaktifkan perilaku ini, tambahkan baris ini ke .inputrc
. Anda :
set bind-tty-special-chars off
Jika Anda belum mengonfigurasi binding kunci terminal non-default yang dimasak dengan stty
, menurut saya ini tidak akan memengaruhi binding bash Anda.