Терминал Mac OS X: опция карты + удалить для "обратного удаления слова"

Пробовал отображать его из "Настройки" → "Настройки" → "Клавиатура", но поле "ключ" имеет только "переадресацию", но "удаление" отсутствует. С другой стороны, моя клавиатура имеет только "удалить" и не "удалять вперед"!

Есть ли другой способ сделать это, кроме как из настроек?

Ответ 1

В разделе "Терминал" > "Настройки" > "Профили" > "Клавиатура" вы можете проверить "Использовать ключ опции в качестве мета-ключа". Многие приложения (в том числе bash и tcsh) рассматривают Meta-Delete как "обратное удаление слова".

Ответ 2

Терминал 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 для красивой таблицы ссылок.

Ответ 3

Удалите возвращаемое слово:

Ctr-ш.

Ответ 4

По умолчанию meta backspace делает обратное слово yank в большинстве оболочек. Если вы нажмете escape, а затем нажмите backspace, это почти все работает везде.

Ответ 5

В профиле вашего терминала вы можете привязать ⌥⌫ (опция + удалить) к ^ W (control + W), поэтому он работает аналогично другим приложениям.

Terminal Profile Keyboard settings

Ответ 6

⌃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 для стирания слова на основе разделителя пространства.

Мне бы хотелось, чтобы я мог опубликовать изображение, как это сделать, но как новичков я не могу.

см. комментарий к буке, чтобы посмотреть, как изменить профиль терминала.

Ответ 7

Вы также можете попробовать iTerm, он обеспечивает более точное управление привязками клавиш.