Ответ 1
В разделе "Терминал" > "Настройки" > "Профили" > "Клавиатура" вы можете проверить "Использовать ключ опции в качестве мета-ключа". Многие приложения (в том числе bash и tcsh) рассматривают Meta-Delete как "обратное удаление слова".
Пробовал отображать его из "Настройки" → "Настройки" → "Клавиатура", но поле "ключ" имеет только "переадресацию", но "удаление" отсутствует. С другой стороны, моя клавиатура имеет только "удалить" и не "удалять вперед"!
Есть ли другой способ сделать это, кроме как из настроек?
В разделе "Терминал" > "Настройки" > "Профили" > "Клавиатура" вы можете проверить "Использовать ключ опции в качестве мета-ключа". Многие приложения (в том числе bash и tcsh) рассматривают Meta-Delete как "обратное удаление слова".
Терминал OS X работает bash, который включает поддержку readline. Следуйте советам Glomek и сообщите терминалу, что он используется как мета-ключ (или используйте Esc), а затем у вас есть куча удобных опций: Ctrl + w удаляет предыдущее слово (как это делает Meta + delete, как указано), но вы также можете использовать Meta + f и Meta + b для перехода вперед и назад через слова Ctrl + a и Ctrl + e к началу и концу строки, Ctrl + k удалить (убить) с курсора до конца строки и еще больше.
См. http://www.bigsmoke.us/readline/shortcuts для красивой таблицы ссылок.
Удалите возвращаемое слово:
Ctr-ш.
По умолчанию meta backspace делает обратное слово yank в большинстве оболочек. Если вы нажмете escape, а затем нажмите backspace, это почти все работает везде.
В профиле вашего терминала вы можете привязать ⌥⌫ (опция + удалить) к ^ W (control + W), поэтому он работает аналогично другим приложениям.
⌃W
(control + W) - это не то же самое, что meta + delete (ESC + delete, если вы не использовали опцию для использования в качестве мета-ключа)
meta + delete будет обрабатывать / _
как разделитель слов, где ^W
будет рассматривать пробел как разделитель.
например. используя ESC + Bakcspace on (курсор в конце)
rm /dira/dirb/file1
дает
rm /dira/dirb/
в то время как ^ W на том же будет давать
rm
Поэтому при определении модификации профиля терминала лучше использовать \033\177, а не ^ W. Таким образом вы действительно сопоставляете ⌥⌫ с тем, что esc⌫ делает, и вы продолжаете иметь ^ W для стирания слова на основе разделителя пространства.
Мне бы хотелось, чтобы я мог опубликовать изображение, как это сделать, но как новичков я не могу.
см. комментарий к буке, чтобы посмотреть, как изменить профиль терминала.
Вы также можете попробовать iTerm, он обеспечивает более точное управление привязками клавиш.