Настройка функциональных клавиш в PuTTY для Vim и Midnight Commander под tmux?

Настройка функциональных клавиш в PuTTY для Vim и Midnight Commander под tmux?

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

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

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

Конфигурация клавиатуры PuTTY

С ESC[n~отображением

Проблема теперь при отображении ( 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" в диалоговом окне выше. Поэтому, когда я нажимаю , F1Vim переходит в режим вставки в конце строки (эффект A). Midnight Commander не распознает ни одну из функциональных клавиш с этой настройкой. Конечно же, на оболочке F1мне выдается Aи колокольчик ( F2a 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

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

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

TERM=putty

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

Связанный контент