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


10

По-перше, я знаю, що я можу використовувати 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і дзвін ( і так далі).F2B

Що я тут пропускаю? Як я можу отримати рівномірне поведінку, коли і командир Поночі, і Вім розпізнають функціональні клавіші?


Додаткова інформація:

Віддаленою системою є Ubuntu 14.04 с LANG=en_US.UTF-8.

TERMвстановлюється TERM=xtermпоза tmuxсеансом і TERM=screenбачиться всередині області або вікна.

Я не використовую:

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

щоб змінити тип терміналу всередині tmux.

Відповіді:


8

Проблема - TERM=xtermзовні tmux. Там немає ні конфігурації PuTTY , яка відповідає xtermопису терміналу, і неузгодженість каналів в screenабо tmux(зробіть ваш вибір).

Дивіться, наприклад, у ncurses FAQ, чому б не просто використовувати термін, встановлений на "xterm"? . Рекомендацію, яку, звичайно, потрібно викласти

TERM=putty

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


Дякую. Насправді я взагалі не міг знайти tack, apt-file searchані після, ані після встановлення рекомендованого пакету. Але toe -a|grep -i puttyпідтверджує, що існує декілька визначень терміналів PuTTY (включаючи a putty-256color). Я спробую це, і повернусь до вас, а також прийму відповідно.
0xC0000022L

Я не помічав, що так не був у Ubuntu 14.04 (він був у Debian деякий час, але, ймовірно, не помічав, коли я розбивав його з тарболу джерела ncurses). Перевіряючи свою машину, схоже, я працював у одному зі своїх пакунків.
Томас Дікі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.