Я недавно обновился с Ubuntu 18.04 до Ubuntu 20.04 и получил странную проблему с приложениями byobu
, tmux
, Vim и ncurses: Enter не работает, и мне нужно использовать CTRL+M вместо этого.
Например, если я редактирую файл в Vim внутри окна Byobu (или Tmux) в Gnome-Terminal, то ввод Enter не вставляет символ новой строки, а вставляет новую строку с символом M
. Для вставки новой строки необходимо набрать CTRL+M.
Как результат, для выхода из Vim мне нужно набрать ESC :q
CTRL+M.
Это также происходит в ncurses приложениях, таких как ncdu
: вместо Enter мне нужно использовать CTRL+M.
Изменение переменной окружения TERM
, кажется, помогает, но не на 100%. Значение по умолчанию, которое я получаю в byobu
и tmux
это TERM=screeen-256color
, но если я изменю его на TERM=xterm-256color
, кажется, что все работает нормально в Vim, но не в ncdu
. В дополнение к этому, клавиша Enter не работает, когда я использую F9 для изменения конфигурации Byobu - как я говорил выше, мне нужно использовать CTRL+M для выбора элементов в конфигурации. Также я попытался добавить следующую строку и в ~/.tmux.conf
, и в ~/.byobu/.tmux.conf
, но это помогло только с Vim:
set -g default-terminal "xterm-256color"
Проблема происходит и на xterm
.
Как я могу это решить?
Очень странно. Это работает вне tmux, да?
Это все еще происходит, если вы запускаете tmux без конфигурации? Запустите новый tmux с tmux -Ltest -f/dev/null new
и посмотрите, существует ли проблема и с ним. Если нет, то вам нужно будет посмотреть на свою конфигурацию и посмотреть, что это вызывает.
Единственное, что я могу придумать, это проверить, действительно ли ваш терминал отправляет Cm для ввода (вы можете запустить cat
, затем нажать клавишу и посмотреть, что отправлено), или что-то сделать с Возможность kent
в записях terminfo. Но их было бы неудобно тестировать, и почему они должны ошибаться в Ubuntu в любом случае и только для вас? Возможно, попробуйте убедиться, что ваши пакеты ncurses обновлены.