Можно ли использовать два символа (например, tm) в режиме вставки в zsh для привязки команды?

в моем текущем файле .zshrc меня есть

bindkey -M viins -s '^tm' '^[Iman ^[Ela ^[d$'

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

Есть идеи?

One Solution collect form web for “Можно ли использовать два символа (например, tm) в режиме вставки в zsh для привязки команды?”

Он работает, но вы должны быть быстрыми. Вы можете связать последовательность символов, но идея состоит в том, чтобы связать это с ключами, которые отправляют последовательности символов.

Например, когда вы нажимаете клавишу « Домой» , многие терминалы отправляют ^[[1~ . Первым символом является ESC, который также связан в режиме вставки vi. Поэтому важно, что привязка чего-то к ESC[1~ не останавливает ESC только от работы.

zsh использует параметр $KEYTIMEOUT (по умолчанию 0,4 секунды), чтобы решить, как долго ждать, пока следующий ключ примет решение о том, что это многосимвольный ключ, или несколько односимвольных нажатий клавиш в последовательности.

Теперь, если нет другого ключевого отображения, которое начинается с ^T , и, в частности, если нет никакого отображения только на ^T , тогда zsh может ждать бесконечно для этого m . ^T , как представляется, сопоставляется с self-insert в ключевую карту по умолчанию, которая не очень полезна. Поэтому вы можете просто удалить его:

 bindkey -Mviins -r '^T' 

Что должно делать то, что вы хотите.

Кстати, вы можете привязать это к виджету run-help .

  • Как я могу расширить все переменные в командной строке в Zsh?
  • Запуск сценария bash из оболочки zsh
  • Weird zsh grep -P поведение
  • Как я могу обнаружить оболочку без входа? (В Zsh)
  • Как сохранить распечатку последней команды в переменной оболочки в urxvt / zsh?
  • Bash - перемещать файлы в пронумерованные папки oneliner
  • Команда Pipe для хвоста: когда первая команда прервана?
  • Получить индекс массива
  • Как использовать замещение параметров в шаблоне glob (zsh)
  • Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки
  • Какие файлы были получены, zsh
  • Когда вы используете расширение скобки?
  • Linux и Unix - лучшая ОС в мире.