Как включить комбинации Клавиши CTRL для экрана GNU на шпаклевке?

Это могло бы работать на Вас (GNU sed):

sed 's/\b[0-9]:/0&/' file
4
20.03.2017, 12:04
2 ответа

В своей конфигурации по умолчанию PuTTY отправляет клавиши курсора в нормальном режиме, например, ^ [OA , в то время как screen устанавливает клавиши курсора в режим приложения , например , ^ [[A .

Это делается путем отправки экранной управляющей последовательности для включения клавиатуры (в termcap ks , terminfo smkx ). Это происходит при включении режима приложения как для цифровой клавиатуры, так и для клавиш курсора, потому что оба присутствуют в возможности ks / smkx . screen использует эту возможность, если она присутствует, при инициализации терминала. screen также сопровождается отправкой строки в возможности termcap CS , если она установлена, намекая, что в исходной конструкции использовались описания терминалов, где только клавиатура была инициализирована с помощью ks / smkx .

Вы замечаете это различие, потому что ваши привязки клавиш ожидают строки, отправленные клавишами курсора в нормальном режиме . Если вы изменили описание терминала для экрана, чтобы опустить часть, которая изменяет клавиши курсора, вы можете продолжать использовать эти привязки.

Например, вы можете сделать это:

infocmp screen >foo
vi foo

и изменить присвоение

smkx=\E[?1h\E=,

на

smkx=\E=,

, затем

tic foo

, чтобы скомпилировать измененное описание. Если вы сделаете это как пользователь (не root), tic поместит скомпилированное описание в ваш каталог ~ / .terminfo . У этого подхода есть недостатки, и использование tput для получения информации о привязке ключа является предпочтительным. Но это просто.

Дополнительная литература:

3
27.01.2020, 20:56

Я нашел это в другом вопросе после размещения сообщения о вознаграждении...

* Ctrl и стрелки не работают в putty! Что мне делать?

putty инвертирует смысл режима клавиш курсора на ctrl, что немного трудно для tmux определить правильно. Чтобы получить правильные клавиши ctrl, измените настройки terminfo так, чтобы kUP5 (Ctrl-Up и т.д.) были скорректированными версиями, и отключите smkx/rmkx, чтобы tmux не менял режим. Например, с помощью этой строки в .tmux.conf (при условии, что TERM установлен на xterm):

set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"

Обратите внимание, что это будет работать только в tmux 1.2 и выше.

https://stuff.mit.edu/afs/athena/project/bsd/src/tmux-1.3/FAQ

1
27.01.2020, 20:56

Теги

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