Câu trả lời:
Điều này phụ thuộc vào shell của bạn và chế độ chỉnh sửa dòng lệnh hoạt động của nó.
Đối với hệ vỏ có chế độ chỉnh sửa dòng lệnh Emacs ( set -o emacs
trong một số shell), hãy sử dụng Alt+D(điều này không hoạt động trên macOS vì bất kỳ lý do gì, nhưng in ký tự ∂
, Escdthay vào đó sử dụng ).
Đối với hệ vỏ có chế độ chỉnh sửa dòng lệnh Vi ( set -o vi
trong một số hệ vỏ), hãy sử dụng Escdw(điều này cũng hoạt động trên macOS).
Đối với kỷ luật dòng tty, ^W
xóa từ được phân cách bằng khoảng trắng trước đó .
Trong vi
trình chỉnh sửa ở chế độ chèn, ^W
xóa lùi về phía sau của chuỗi đầu tiên của alnums hoặc non-alnums (trên foo-+-bar.. baz
, đầu tiên nó sẽ xóa baz
, sau đó ..
, sau đó bar
, sau đó -+-
, sau đó foo
).
Trong emacs
trình chỉnh sửa, ^W
xóa từ vị trí con trỏ đến dấu ( vị trí bạn đặt Ctrl+Space).
Một số trình chỉnh sửa dòng như readline
(được sử dụng bởi bash
, gdb
...), zle
(được sử dụng bởi zsh
), pdksh
khi ở vi
chế độ, hoạt động như vi
trong vấn đề đó và khi ở emacs
chế độ hoạt động giống như kỷ luật dòng tty (không emacs
).
libedit
(được sử dụng bởi các vỏ BSD hoặc (tùy chọn) dash
), tcsh
AT & T ksh
, trong emacs
chế độ, hoạt động giống như emacs
nơi ^W
xóa dấu hiệu (ban đầu ở đầu bộ đệm).
Để xóa một từ chuyển tiếp, trong vi
trình chỉnh sửa, bạn sẽ thực hiện nó ở chế độ lệnh ( bình thường ) dw
để xóa đến đầu chuỗi tiếp theo của alnums hoặc không alnums (hoặc cuối dòng) và dW
xóa sang chuỗi không tiếp theo của khoảng trống (mặt dây chuyền của ^W
kỷ luật dòng tty).
Trong trình chỉnh sửa emacs
dòng, Meta-Dsẽ xóa đến cuối chuỗi ký tự alnum tiếp theo. Các toán tử chuyển động từ ( Meta-B, Meta-F) hành xử tương tự.
biên tập viên dòng lệnh, khi ở vi
chế độ, hành xử như thế vi
, nhưng trong emacs
chế độ, bạn có hai trường chính: tcsh
trường và ksh
trường.
Các ksh
trường ( readline
, ksh
, yash
) hành xử chủ yếu như emacs
( fish
hành vi 's là hơi khác nhau trong cách đối xử với nó không alnum, ký tự không phải khoảng trắng ở cả emacs
và vi
chế độ).
Trong tcsh
trường ( tcsh
, libedit
, zsh
), chuyển động từ được dựa trên các từ khoảng trắng được phân định như vậy là phù hợp với các tty dòng kỷ luật của ^W
trong vấn đề đó.
Trong đó zsh
, hành vi có thể tùy chỉnh với các kiểu từ khác nhau cho tất cả các tiện ích chuyển động từ.
Đối với readline
, bạn có thể nhận được tcsh
trường (và đã Meta-Dxóa cùng loại từ như Ctrl-Wvậy) bằng cách thêm vào ~/.inputrc
:
set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord
Hoặc mặt khác, căn chỉnh ^W
với các widget chuyển động từ khác (hành xử như Meta-Backscape) với:
set keymap emacs
"\C-W": backward-kill-word
Như Metachìa khóa là gì, xem ở đó .
Trong Linux, hãy cố gắng Ctrl+k
xóa từ nơi con trỏ đến cuối từ.
Có một vài phím tắt khác được liệt kê bên dưới (hoạt động trong Linux):
Ctrl+e
-> Đưa con trỏ ở cuối từ.Ctrl+t
-> Thay đổi vị trí của bảng chữ cái.Ctrl+y
-> thêm hậu tố "hh" vào từ hiện tại.Ctrl+u
-> Xóa toàn bộ dòng.Ctrl+o
-> Hoạt động tương tự phím Enter.Ctrl+p
-> Hoạt động tương tự như nút mũi tên lên.Ctrl+a
-> Đưa con trỏ đến vị trí bắt đầu của lệnh.Ctrl+d
-> Đóng thiết bị đầu cuối.Ctrl+f
-> Di chuyển con trỏ về phía trước bởi một Ký tự.Ctrl+h
-> Hoạt động tương tự như phím Backspace.Ctrl+j
-> Hoạt động tương tự phím Enter.Ctrl+m
-> Hoạt động tương tự phím Enter.Ctrl+b
-> Hoạt động tương tự như phím mũi tên phải. 14 Ctrl+4
-> Xóa từCtrl+k
xóa đến cuối dòng . Ctrl+u
xóa toàn bộ dòng (nếu con trỏ ở cuối). Ctrl+d
gửi EOF. Ctrl+e
đi đến cuối hàng , v.v.
bash
trongvi
chế độ, bạn có thể sử dụngdW
để xóa những