Клавиша ESC вызывает небольшую задержку в терминале из-за его поведения Alt +

Моя настройка терминала – gnome-terminal + tmux + zsh с привязками vi.

В таких приложениях, как vim или даже в режиме редактирования vi командной строки zsh, мне нужно часто нажимать клавишу ESC, но есть небольшая задержка до того, как эффекты этого ключа произойдут. См. Экран GNU Экран Vim ESC замедляется

После некоторых экспериментов я обнаружил, что нажатие клавиши ESC и сразу другой ключ (скажем, b ) имеет тот же эффект, что и удар Alt + b . Я не знаю, почему это так (вероятно, по старым причинам, когда не было Alt ? Я не знаю). В любом случае, у меня есть две клавиши Alt, и я не хочу этого поведения с помощью клавиши ESC . Я пробовал с C + [ и с той же проблемой с этим тоже.

Я не уверен, кто несет ответственность за это: gnome-terminal или tmux или сама моя ОС (Ubuntu Natty). Любые идеи о том, как обращаться с этим, были бы замечательными.

Обновление : я проверил без tmux на другом терминале (LXTerminal), и там также присутствует задержка.

3 Solutions collect form web for “Клавиша ESC вызывает небольшую задержку в терминале из-за его поведения Alt +”

Вот реальное решение. Добавьте в .tmux.conf следующее:

 set -s escape-time 0 

Задержка вызвана процедурами ввода, которые, возможно, придется решить, нажата ли функциональная клавиша или нет. Для этого процедура ввода запускает таймер всякий раз, когда он читает символ ESC. Символы, которые считываются с входного сигнала до истечения таймера (скажем, десятая часть секунды), затем интерпретируются как последовательность ESC функциональной клавиши, и эта ESC-последовательность будет сравниваться с известными строками ESC-функций из terminfo или termcap (зависит от того, какие низкоуровневые процедуры используются).

Конечно, это раздражает приложения, где ESC используется сам по себе, но я не знаю об этом обходного пути.

Что касается вашего вопроса с поведением ESC a = Meta a :

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

Хотя это может не решить проблему напрямую, я обнаружил, что для выхода из режима вставки я могу использовать <Ctrl> c . Это также можно использовать для выхода из экрана прокрутки экрана tmux (который можно вызвать с помощью <leader> PgUP )

  • Коррумпированные файлы после извлечения с помощью GNU tar Cywin
  • Это ошибка, которую zsh печатает полную строку с printf '% .s'?
  • При применении команд к группам строк из stdin
  • как найти файл, определяющий псевдоним
  • Не удалось обновить / обновить пакет Oh-My-Zsh с помощью команды `sudo pacman -S Oh-My-Zsh`
  • Список каталогов с точечными каталогами, затем точечными файлами
  • Что делает это решение zsh для «списка аргументов слишком длинным»?
  • ZSH, конкатенация передается аргументами в одну строку
  • Как остановить bash из файлов с проверкой синтаксиса?
  • zsh: Определяется словарь `key` ->` terminfo`
  • Команда Wrap в подсказке
  • Поддерживают ли оболочки рекурсию?
  • Interesting Posts

    Почему фоновые задания запускаются моей оболочкой, живущей дольше, чем исходная оболочка и управляющие терминалы?

    tmux при запуске и проблемах с отправкой ssh-agent

    Как расширить рабочий стол на второй подключенный экран

    Повтор pcap только на локальной машине

    Проблемы с курсором мыши и видео с момента обновления до Lubuntu 16.04

    Если вы используете SSH на другом компьютере, как получить доступ к другим дисплеям X?

    Прогнозирование командной строки

    Является ли команда stdout для терминала регистрируемой?

    Создайте Ubuntu USB-Installer из Debian

    Как получить результаты из «\ 033 [6n» в сценарии sh

    Настройка зашифрованных папок с помощью ecryptfs на Raspbian

    Grep отображает как согласованные, так и убранные строки

    Создание символических ссылок в каталоге etc без доступа root

    Был ли «\ 0» в конце каждого скрипта?

    Как я могу копировать вывод терминала из консоли ssh и вставлять его в окно локальных окон

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