Что есть? "^ [B" backward-word "При попытке настроить ZSH?

Я нахожусь на MAC, и я пытаюсь найти ярлыки для моего ZSH, работающего на Iterm2.

Когда я набираю bindkey в оболочке, я вижу (среди других сопоставлений) следующее:

"^[b" backward-word "^[f" forward-word 

Я знаю, что есть контрольный ключ. Но что, если я нажму Ctrl + [+ f, это не идет вперед.

Что мне не хватает?

4 Solutions collect form web for “Что есть? "^ [B" backward-word "При попытке настроить ZSH?”

^ обычно управляет, но ^[ самом деле означает Escape или Alt (или мета, если вам нравится emacs).

Таким образом, вы можете нажать Esc b или Esc f для этих комбинаций клавиш.

По умолчанию Alt не работает на терминалах Mac, но iTerm2 имеет настройку: «Опция действует как [] Normal [] Meta [] + Esc». Вы хотите + Esc.

Снимок экрана настроек ключа iTerm2 Option.

На самом деле ^[ является клавишей Alt. Поэтому в вашем случае терминал (Iterm2) использует Alt + b и Alt + f для перехода назад и вперед. Это контролируется вашим терминалом и не имеет ничего общего с zsh.

Обозначение ^ обычно используется в мире GNU для управляющих символов, где ^a – Ctrl-A (ASCII 1, где A – ASCII 65). Другими словами, это сокращение для «использования символа 64 слота до этого».

Клавиша ESC – это ASCII 27, которая на 64 шага до [ , поэтому ^[ является сокращением для ESC.

В редакторе GNU Emacs использовались несколько клавиш-модификаторов, CTRL, META и другие. Например, CTRL-f перемещает курсор на символ вперед, а META-f перемещает курсор вперед.

Для размещения многих клавиатур без клавиши META соглашение «ESC означает, что следующий символ следует считать нажатым с помощью META-ключа». Поэтому в GNU Emacs нажатие ESC-f перемещает курсор вперед.

Обратите внимание, что в наши дни очень редко, что Ctrl-[ дает символ ESC, но он может скрываться в какой-то другой комбинации Ctrl. Например, ^^ все еще используется в сеансах telnet для перехода в командный режим, поэтому полезно найти его.

Чтобы продлить ответ mrb :

Действительно, ^[bESC + b или ( Meta / Alt + b ). Вы можете отобразить символ буквально, выполнив его с помощью Ctrl + v . В этом случае вы найдете следующее:

  • Ctrl + v Ctrl + b

    ^B

  • Ctrl + v Мета + b

    ^[b

  • Ctrl + v ESC b

    ^[b

Кроме того, вы найдете в руководстве zsh:

 backward-word (ESC-B ESC-b) (unbound) (unbound) Move to the beginning of the previous word. 

и аналогичным образом для forward-word :

 forward-word (ESC-F ESC-f) (unbound) (unbound) Move to the beginning of the next word. 
  • В чем разница между тем, где и где
  • Что означает% F и как я могу остановить его, это значит?
  • Массивы в Zsh. Проверьте, не определена ли какая-либо из следующих переменных
  • Как вы используете переменные со значениями, содержащими пробелы в команде сценария Z-shell (zsh)?
  • Связь между исполняемым скриптом zsh и конфигурацией compsys / zstyle
  • Список X случайных файлов из каталога
  • Повторно оценивайте выражение запроса каждый раз, когда приглашение отображается в zsh
  • Принудительное название на экране GNU
  • Предотвращать отображение терминала ранее выполненной командой
  • сделать мой режим отображения zsh в режиме vi
  • Есть ли простой способ получить массив всех аргументов, которые не начинаются с дефиса?
  • Interesting Posts

    Поиск каталога рекурсивно для файлов, перечисленных в csv, и скопировать их в другое место

    Как мне назначить Ubuntu 18.04 статический ip, на виртуальной машине, использующей VMware, а хост – Windows?

    Перенаправление streamов в оболочке bash – как сделать безусловную командную строку в оставшейся части оболочки

    Работа Cron, похоже, не выполняется в ubuntu

    Есть ли графический интерфейс для службы управления услугами Solaris?

    Пересылка USB для контейнеров LXC

    Как выбрать 30 файлов и сделать кучу sed команд на них

    Установка свежей арки – текст терминала полностью нечитабелен сразу после загрузки

    Загрузите только часть файла

    В чем разница между различными ветвями репозитория Ubuntu?

    установить дату истечения срока действия учетной записи в будущем

    awk для разделения входного файла на 2 файла (один для дублированных значений и один для уникальных значений)

    Поисковая база данных команд Linux

    Как реализовать условное обновление пакета deb

    Как удалить префикс из электронной почты в таблице?

    Linux и Unix - лучшая ОС в мире.