Câu trả lời:
Các lệnh được sử dụng phổ biến nhất trong chế độ bash emacs mặc định , cho hầu hết các bàn phím được sử dụng phổ biến:
Cũng có unix-filename-rubout
cho 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
là câu trả lời chính xác cho câu hỏi được hỏi khi nó xóa dấu gạch chéo hoặc khoảng trắng, trong khi đó Alt-BkSpc
sẽ dừng lại ở các ký tự như dấu gạch nối, dấu gạch dưới, dấu chấm, v.v.
Theo mặc định bash (và tôi đoán zsh) sẽ ở chế độ emacs. Bạn có thể thử một cái gì đó như thế này:
Esc + bsẽ đặt con trỏ trở lại một từ. Ctrl + ksẽ xóa cho đến hết dòng.
Hầu hết các shell hiện đại (như bash) sẽ thực hiện các tính năng chỉnh sửa dòng lệnh nâng cao. Các lệnh này gần với chỉnh sửa emacs (Ctrl + A cho đầu dòng, Ctrl + E cho cuối dòng, ...).
Nếu bạn quen thuộc với các biên tập viên giống như vi, bạn có thể thử cho phép chế độ vi.
set -o vi
Nó cung cấp cho các chế độ giống như vi của bạn (chế độ lệnh / chế độ chèn) và bạn có quyền truy cập vào các lệnh tiêu chuẩn (d để xóa, r để thay thế, ...)
Trong Vi Mode, đây là cách bạn sẽ làm những gì bạn mô tả:
Esc (command mode); d; b.
db
trong kịch bản này trong bash. Tôi cũng tìm thấy vi-backward-kill-word
trong zsh là những gì tôi muốn, và nó thuận tiện hơn so với đặt chế độ vi trong bash. Nhưng tôi vẫn muốn tìm một lối tắt chế độ emacs cho mục đích này trong bash.
db
trong một số trường hợp.
bindkey [key] vi-backward-kill-word