Jawaban:
Perintah yang paling umum digunakan dalam mode bash emacs default , untuk keyboard yang paling sering digunakan:
Ada juga unix-filename-rubout
untuk Readline
!
# in ~/.inputrc
# press ctrl-b to delete unix filename parts
# see: man bash | less -p 'unix-filename-rubout' and
# http://www.calmar.ws/vim/vi-bash.html
set editing-mode vi
set keymap vi
"\C-b": unix-filename-rubout
unix-filename-rubout
adalah jawaban yang benar untuk pertanyaan yang ditanyakan karena menghapus ke garis miring atau spasi, sedangkan Alt-BkSpc
akan berhenti pada karakter seperti tanda hubung, garis bawah, titik, dll.
Secara default bash (dan saya menebak zsh) akan berada dalam mode emacs. Anda dapat mencoba sesuatu seperti ini:
Esc + bakan meletakkan kursor kembali satu kata. Ctrl + kakan menghapus sampai akhir baris.
Sebagian besar shell modern (seperti bash) akan mengimplementasikan fitur pengeditan baris perintah lanjutan. Perintah-perintah itu dekat dengan pengeditan emacs (Ctrl + A untuk awal baris, Ctrl + E untuk akhir baris, ...).
Jika Anda familier dengan editor vi-like, Anda bisa mencoba untuk mengizinkan vi-mode.
set -o vi
Ini memberikan shell Anda seperti mode (mode perintah / mode insert), dan Anda mendapatkan akses ke perintah standar (d untuk menghapus, r untuk mengganti, ...)
Dalam Mode Vi, inilah cara Anda akan melakukan apa yang Anda jelaskan:
Esc (command mode); d; b.
db
skenario ini di bash. Saya juga menemukan vi-backward-kill-word
di zsh apa yang saya inginkan, dan lebih nyaman daripada mengatur vi-mode di bash. Tapi saya masih ingin mencari jalan pintas mode emacs untuk keperluan ini di bash.
db
tidak dalam beberapa kasus.
bindkey [key] vi-backward-kill-word