Mac OS X Terminal: Map option+delete to " назад удалить слово"

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

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

7 ответов


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


терминал OS X запускает bash, который включает поддержку readline. Следуйте советам Гломека и скажите терминалу использовать опцию в качестве мета-ключа (или использовать Esc) и тогда у вас есть куча удобных опций: Ctrl+w удаляет слово prev (как и Meta + delete, как упоминалось), но вы также можете использовать Meta+f и Meta+b для ходьбы вперед и назад через слова, Ctrl+a и Ctrl+e к началу и концу линия, Ctrl+k удалить (убить) от курсора до конца строки, и еще кучу всего.

посмотреть http://www.bigsmoke.us/readline/shortcuts небольшую справочную таблицу.


удалить слово вернуться:

Ctr-w.


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


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

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

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


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

Terminal Profile Keyboard settings


вы также можете попробовать iTerm, оно обеспечивает более точный контроль keybindings.