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

EDITOR редактор должен смочь работать без использования "усовершенствованной" терминальной функциональности (как старый ed или ex режим vi). Это использовалось на терминалах телетайпа.

A VISUAL редактор мог быть полноэкранным редактором как vi или emacs.

Например, если Вы вызываете редактора через удар (использование C-x C-e), удар попробует сначала VISUAL редактор и затем, если VISUAL сбои (потому что терминал не поддерживает полноэкранного редактора), он пробует EDITOR.

В наше время можно уехать EDITOR сброс или набор это к vi -e.

70
13.04.2017, 15:37
3 ответа

Вот фактическая фиксация. Добавьте следующее к .tmux.conf:

set -s escape-time 0
114
27.01.2020, 19:31
  • 1
    Brilliant, Спасибо! Имел задержку, оставляя режим вставки в энергии и действительно не думал, что это, возможно, было вмешательство tmux. Это добилось цели –  actionshrimp 26.05.2013, 15:09
  • 2
    Как упомянуто в superuser.com/questions/252214 / … я должен был сделать tmux kill-server чтобы это вступило в силу. –  PhilT 21.01.2016, 13:01
  • 3
    Для любого, кто прибыл в эту страницу, пытающуюся понять, почему существует задержка при переключении от режима вставки до командного режима при использовании vi режима в ударе, посмотрите superuser.com/a/1161871/236677 –  Kvass 31.12.2016, 00:18
  • 4
    , с которым можно перезагрузить конфигурационный файл путем открытия командной строки внутри tmux tmux-prefix (значение по умолчанию Ctrl+b) сопровождаемый : и ввод source-file $HOME/.tmux.conf. –  Folfy 01.07.2017, 01:48

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

3
27.01.2020, 19:31
  • 1
    , я не рекомендовал бы использовать <C-c> выходить из режима вставки в регулярном использовании, так как это не работает InsertLeave автокоманда, за которой могли бы наблюдать некоторые плагины. Посмотрите :h i_CTRL-C. –  Shrikant Sharat 27.01.2013, 10:51

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

Из курса это является раздражающим для приложений, где ESC используется самостоятельно, но я не знаю ни о каком обходном решении для этого.

Относительно Вашего вопроса с поведением ESC = Meta a:

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

7
27.01.2020, 19:31
  • 1
    Спасибо за объяснение ktf. Задержка не присутствует в gvim, только в терминале (я проверил без tmux, и задержка все еще там). –  Shrikant Sharat 23.10.2011, 20:51
  • 2
    gvim не страдает от этой проблемы, потому что это получает информацию, какая клавиша была нажата с сервера X11 (таким образом, это не должно анализировать последовательности ESC). –  ktf 24.10.2011, 11:19
  • 3
    Хорошо, таким образом, я должен заставить свой терминал гнома вести себя тот же путь затем. –  Shrikant Sharat 24.10.2011, 11:42
  • 4
    терминал гнома не является проблемой - проблема, описал влияние только программы, работающие на терминале (или в Эмуляции терминала), и должен проанализировать функциональные клавиши. Вы испытаете то же поведение при попытке xterm или KDE-терминала, например. –  ktf 24.10.2011, 12:57
  • 5
    "Метаклавиши не был доступен со всеми клавиатурами. Как обходное решение часто позволялось использовать клавишу ESC, которая будет нажата перед другим ключом". Возможно, даже предшествование этому, ttys часто только имело семиразрядные интерфейсы передачи данных; не было никакого восьмого "метабита", таким образом, необходимо было отправить ESC за Meta. И в наше время UTF-8 широко распространен, поэтому даже с восьмиразрядными соединениями, Вы не можете использовать высокий бит для Meta. –  Chris Page 24.10.2011, 21:57

Теги

Похожие вопросы