Відповіді:
Це залежить від вашої оболонки та її активного режиму редагування командного рядка.
Для оболонки з режимом редагування командного рядка Emacs ( set -o emacsв деяких оболонках) використовуйте Alt+D(це не працює на macOS з будь-якої причини, але друкує символ ∂, використовуйте Escdзамість цього).
Для оболонки з режимом Vi командного рядка для редагування ( set -o viв деяких оболонках), використання Escdw(це робить роботу на MacOS, а).
Для дисципліни tty line ^Wвилучає попереднє слово з обмеженим пробілом .
У viредакторі у режимі вставки ^Wвидаляє назад до початку першої послідовності alnums або non-alnums (увімкнено foo-+-bar.. baz, спочатку видаляє baz, потім .., потім bar, потім -+-, потім foo).
У emacsредакторі ^Wвидаляє з позиції курсору позначку (ту, яку ви встановили Ctrl+Space).
Деякі редактори рядків, такі як readline(використовуються bash, gdb...), zle(використовуються zsh), pdkshколи перебувають у viрежимі, поводяться як viу цьому відношенні, так і коли в emacsрежимі ведуть себе як дисципліна в рядку (не emacs).
libedit(Використовується BSD оболонки або ( по бажанню) dash), tcsh, AT & T ksh, в emacsрежимі, поводиться як , emacsде ^Wвидалення до позначки (спочатку на початку буфера).
Щоб видалити слово вперед, в viредакторі ви зробите це в командному ( звичайному ) режимі, dwщоб видалити до початку наступної послідовності alnums або non-alnums (або кінець рядка) та dWвидалити до наступна послідовність непробірок (кулон ^Wдисципліни tty line).
У emacsредакторі рядків Meta-Dбуде видалено до кінця наступну послідовність символів випускних номерів. Слово оператори руху ( Meta-B, Meta-F) поводяться аналогічно.
редактори командних рядків, коли в viрежимі, ведуть себе так vi, але в emacsрежимі у вас є дві основні школи: tcshшкола та kshшкола.
kshШкола ( readline, ksh, yash) поводиться в основному як emacs( fishповедінка «s трохи відрізняється в тому , як він ставиться до не-, чи не цифрою , буквою, пробільні символи в обох emacsі viрежимі).
У tcshшколі ( tcsh, libedit, zsh), рух слова засноване на пробільні роздільниках слів так узгоджуються з TTY дисципліни лінії - й ^Wу цьому відношенні.
У zshповедінці можна налаштувати різні стилі слів для всіх віджетів руху слів.
Тому що readlineви можете отримати tcshшколу (і Meta-Dвидалити те саме слово, що і слово Ctrl-W), додавши до свого ~/.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
Або з іншого боку, вирівняйте ^Wвіджети руху іншого слова (поводьте себе так Meta-Backscape) за допомогою:
set keymap emacs
"\C-W": backward-kill-word
Щодо Metaключа, дивіться там .
У Linux спробуйте Ctrl+kвидалити звідки курсор до кінця слова.
Нижче наведено декілька інших ярликів (які працюють в Linux):
Ctrl+e -> Бере курсор у кінці слова.Ctrl+t -> Міжзмінна позиція алфавітів.Ctrl+y -> додає постфікс "hh" до поточного слова.Ctrl+u -> Видаляє весь рядок.Ctrl+o -> Працює так само, як клавіша Enter.Ctrl+p -> Працює так само, як кнопка зі стрілкою вгору.Ctrl+a -> Приводить курсор до початкового положення команди.Ctrl+d -> Замикає термінал.Ctrl+f -> Переміщує курсор вперед одним символом.Ctrl+h -> Працює так само, як ключ Backspace.Ctrl+j -> Працює так само, як клавіша Enter.Ctrl+m -> Працює так само, як клавіша Enter.Ctrl+b-> Працює так само, як клавіша зі стрілкою праворуч. 14 Ctrl+4 -> Видаляє словоCtrl+kвидаляє до кінця рядка . Ctrl+uвидаляє весь рядок (якщо курсор знаходиться в кінці). Ctrl+dпосилає EOF. Ctrl+eйде до кінця рядка тощо
bashвviрежимі, ви можете використовувати ,dWщоб видалити ті