Ada dua editor baris yang dimainkan di sini: editor baris dasar yang disediakan oleh kernel (editor mode tty line), dan editor baris bash (diimplementasikan melalui perpustakaan readline). Keduanya memiliki perintah hapus-ke-kata sebelumnya yang terikat ke Ctrl+ Wsecara default. Kunci dapat dikonfigurasikan untuk editor tty line mode kanonik melalui stty werase
; bash meniru pengikatan kunci yang ditemukan dalam pengaturan tty kecuali diganti dalam konfigurasinya sendiri.
The werase
tindakan dalam baris editor tty tidak dapat dikonfigurasi. Itu selalu menghapus (ASCII) kata-kata yang dibatasi spasi. Jarang berinteraksi dengan editor baris tty - itulah yang Anda dapatkan misalnya ketika Anda mengetik cat
tanpa argumen. Jika Anda ingin binding kunci mewah di sana, Anda dapat menjalankan perintah di bawah alat seperti rlwrap yang menggunakan readline.
Bash menyediakan dua perintah untuk menghapus kata sebelumnya : unix-word-rubout
( Ctrl+ watau sebagaimana diatur melalui stty werase
), dan backward-kill-word
( M-DEL
, yaitu Esc Backspace) yang memperlakukan kata sebagai urutan karakter alfanumerik di lokal saat ini dan_
. Jika Anda ingin Ctrl+ Backspacemenghapus urutan karakter alfanumerik sebelumnya, jangan setel stty werase
, dan sebaliknya letakkan baris berikut di Anda .inputrc
:
"\C-h": backward-kill-word
Perhatikan bahwa ini mengasumsikan bahwa terminal Anda mengirimkan karakter Ctrl + H untuk Ctrl+ Backspace. Sayangnya itu salah satu kunci tanpa ikatan standar (dan Backspacekhususnya berantakan karena alasan historis).
Ada juga perintah simetris kill-word
yang terikat ke M-d
( Alt+ D) secara default. Untuk mengikatnya ke Ctrl+ Delete, pertama-tama Anda harus mencari tahu urutan keluar apa yang dikirim terminal Anda, kemudian tambahkan baris yang sesuai di Anda .inputrc
. Ketik Ctrl+ Vlalu Ctrl+ Delete; ini akan memasukkan sesuatu seperti di ^[[3;5~
mana inisial ^[
adalah representasi visual dari karakter escape. Maka yang mengikat adalah
"\e[3;5~": kill-word
Jika Anda tidak puas dengan salah satu definisi kata, Anda dapat memberikannya sendiri di bash: lihat perilaku membingungkan dari ikatan kunci gaya emacs di bash