it-swarm.com.ru

Терминал Mac OS X: опция Map + delete для «удаления Word назад»

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

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

202
ibz

Включить ключ опции как мета-ключ

  1. Перейдите к Terminal> Preferences> Profiles> Keyboard
  2. Проверьте Use option key as meta key.

Образ

На macOS High Sierra 10.13.6, захвачено 23 октября 2018 года.

Illustration of the window for toggling option key as meta key

Заметки

Многие приложения (в том числе bash и tcsh) рассматривают мета-удаление как "обратное удаление Word".

363
Andru Luvisi

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

Смотрите http://www.bigsmoke.us/readline/shortcuts для милой маленькой справочной таблицы.

66
nadafigment

Удалить слово, возвращаясь:

Ctrl-W.

50
Shai

По умолчанию мета-backspace выполняет обратное слово "рывок" в большинстве оболочек. Если вы нажмете клавишу Escape, а затем нажмите клавишу Backspace, это почти везде работает.

22
Dustin

⌃W (control + W) - это не то же самое, что meta + delete (ESC + delete, если вы не отметили опцию использования в качестве мета-ключа) meta + delete будет обрабатывать / _ как разделитель слов, где ^W будет рассматривать пространство как разделитель.

например используя ESC + Bakcspace (курсор в конце)

rm /dira/dirb/file1

дает

rm /dira/dirb/

пока ^ W на том же даст

rm

Поэтому лучше использовать\033\177, а не ^ W при определении модифицирующего профиля терминала. Таким образом, вы действительно отображаете ⌥⌫ на то, что делает esc⌫, и у вас остается ^ W, чтобы стереть Word на основе разделителя пробелов.

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

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

15
Stephane Gasparini

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

Terminal Profile Keyboard settings

12
Bouke

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

2
csexton