9

Прежде всего, я знаю, что могу использовать Alt+1 (от 9 до 0), чтобы синтезировать соответствующие функциональные клавиши (от F1 до F10) в Midnight Commander. Это помогло мне много раз, но по умолчанию я все еще нажимаю реальные функциональные клавиши интуитивно.

Суть: я пытаюсь запустить Vim и Midnight Commander в сеансе tmux (иногда в окне, иногда в панели), используя PuTTY.

Поэтому по умолчанию у меня есть следующая конфигурация PuTTY:

PuTTY клавиатура

С помощью ESC[n~ mapping

Теперь проблема при отображении (map <F1> :tab help<CR> , а также nmap и imap) F1 в Vim заключается в том, что он дает эффект ~ (случай переключения). И действительно, если я нажму F1 - F5 в оболочке, тильда (~) будет результатом, вместе со звонком. Функциональные клавиши прекрасно работают в Midnight Commander, хотя, используя этот параметр.

Есть одна странная вещь в вышеупомянутой настройке в дополнение к моим проблемам с F1: я также "сопоставил" F5 (set pastetoggle=<F5>) в Vim. Как ни странно, это работает как шарм, хотя клавиша F5 на оболочке дает ~ как F1 и т.д.

Примечание: при запуске Vim вне tmux связывание по умолчанию (и мое переопределение) F1 работает нормально!

С отображением "Linux"

Поэтому, естественно, я попытался использовать настройку "Linux" в диалоговом окне выше. Поэтому, когда я нажимаю F1, Vim переходит в режим вставки в конце строки (эффект A). Midnight Commander не распознает ни одну из функциональных клавиш с этой настройкой. Конечно же, на оболочке F1 дает мне A и колокол (F2 a B и так далее).

Что мне здесь не хватает? Как я могу получить единообразное поведение, когда Midnight Commander и Vim будут распознавать функциональные клавиши?


Дополнительная информация:

Удаленная система - Ubuntu 14.04 с LANG=en_US.UTF-8 .

TERM установлен на TERM=xterm вне сеанса tmux и на TERM=screen если смотреть изнутри панели или окна.

Я не использую:

set-option -g default-terminal "screen-256color"

переопределить тип терминала внутри tmux .

1 ответ1

7

Проблема в том, что TERM=xterm вне tmux . Там нет конфигурации PuTTY , которая соответствует описанию xterm терминала и рассогласование каналов в screen или tmux (сделайте ваш выбор).

Смотрите, например, в FAQ по ncurses. Почему бы просто не использовать TERM со значением "xterm"? , Рекомендация там, конечно, установить

TERM=putty

Быстрая проверка с использованием tack показывает, что эта комбинация (TERM=putty , tmux) работает для Ubuntu 14.04 (вы должны были установить пакет ncurses-term , который включает это).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .