Perhatikan bahwa ini akan bekerja di terminal dan mode emacs default (yang Anda gunakan jika Ctrl+ Wmenghapus kata sebelumnya untuk Anda). Ini tidak akan berfungsi dalam mode vi bash dan tidak akan memengaruhi vi / vim itu sendiri. Karena itu, ini hanya sebagian jawaban tetapi yang terbaik yang dapat ditawarkan oleh pengguna emacs ini.
Hal semacam ini dikelola oleh readlineperpustakaan yang perilakunya dapat dikendalikan melalui ~/.inputrc. Edit (atau buat, jika tidak ada) ~/.inputrcdan tambahkan baris ini:
"\C-H":"\C-W"
Sekarang, buka terminal baru dan seharusnya berfungsi.
Penjelasan
The \C-Hsebenarnya Control+ BackSpace. Anda dapat melihat kode kunci dengan menekan Ctrl+ Vlalu, tombol yang Anda cari. Anda akan melihat itu BackSpacekembali ^H.
Sekarang, itu harus mungkin untuk mengikat Control+ BackSpaceuntuk fungsi bash yang menghapus kata sebelumnya ( backward-kill-wordatau unix-word-rubout) dengan menggunakan "\C-H": backward-kill-word. Namun, saya tidak bisa melakukannya. Ini berfungsi dengan baik dengan tombol yang berbeda ( "\C-E": backward-kill-word, misalnya, membuat Ctrl+ Emenghapus kata sebelumnya) tetapi untuk beberapa alasan, saya tidak bisa membuatnya bekerja BackSpace.
Jadi, sebagai solusinya, kita hanya memetakan Ctrl+ Backspaceke Ctrl+ Wyang sudah dipetakan ke backward-kill-word. Jadi, ketika Anda menekan Ctrl+ Backspace, itu akan diterjemahkan ke Ctrl+ Wyang, pada gilirannya, akan dikirim backward-kill-word. Saya mendapat ide untuk penyelesaian ini dari pos SU ini .