заголовки набора tmux не работают?

Существует несколько уровней конфигурации, которая должна быть настроена правильно для лучшей функциональности.

  1. Настройте tmux для распознавания последовательностей. Прежде, чем запустить tmux, установленный значение ТЕРМИНА, которое подходит для Вашего эмулятора терминала (например. xterm-256color). terminfo запись базы данных, определенная ТЕРМИНОМ переменная среды, говорит tmux, как распознать последовательности для измененных клавиш со стрелками (пользовательские возможности {kUP,kDN,kRIT,kLFT}{,3..7}).
  2. Настройте tmux для генерации последовательностей. Установите xterm-keys опция сессии к on так, чтобы tmux генерировал свою собственную последовательность xterm-стиля, когда он получит последовательность, которую определяет его ТЕРМИН. В Вашем ~/.tmux.conf:

    set-option -g xterm-keys on
    
  3. Настройте программы, работающие внутри tmux для использования/ожидания большинства его последовательностей. Удостоверьтесь, что Вы используете a screen- основанный ТЕРМИН внутри tmux (например. screen-256color). Это говорит программы, работающие внутри tmux, как управлять терминалом tmux (ре) эмуляция и какие ответы они должны ожидать от tmux.
  4. К сожалению, screen- базирующиеся terminfo записи базы данных часто не определяют последовательностей для измененных клавиш со стрелками (т.е. они не могут иметь kUP, и так далее), таким образом, программы, работающие внутри tmux, не могут знать для ожидания таких последовательностей. Необходимо будет вручную настроить любые программы, что Вы хотите распознать эти ключи. В Vim можно вставить это Ваш ~/.vimrc:

    if &term =~ '^screen'
        " tmux will send xterm-style keys when xterm-keys is on
        execute "set <xUp>=\e[1;*A"
        execute "set <xDown>=\e[1;*B"
        execute "set <xRight>=\e[1;*C"
        execute "set <xLeft>=\e[1;*D"
    endif
    

    Можно хотеть использовать варианты без x (т.е. <Up> вместо <xUp>, и так далее), если Вы находите то использование x- вариант заставляет Ваши нормальные клавиши со стрелками прекращать работать.

    Преимущество определения ключей как это состоит в том, что Вы не должны отображать каждую из комбинаций модификатора отдельно (Сдвиг, Управление, Contol+Shift, Meta, Meta+Shift, Meta+Control, Meta+Control+Shift); * заставляет специальную интерпретацию обрабатывать все связанные последовательности (см. :help xterm-modifier-keys).

  5. Затем можно отобразить ключи вместо их трудно кодированных последовательностей:

    nnoremap <C-Right> gt
    nnoremap <C-Left> gT
    
17
21.03.2015, 16:48
2 ответа

Проблема решена!

Включить собственную xterm прокрутку мыши в tmux, много Wiki, сайта Q & A, сообщение в блоге предлагает добавить строку как:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

кому: ~/.tmux.conf. И это - преступник.

Для разрешения xterm заголовков в окне терминала также необходимо добавить XT флаг, что-то вроде этого:

set -g terminal-overrides "xterm*:XT:smcup@:rmcup@"

Источник: http://opennomad.com/content/goodbye-screen-hello-tmux

15
27.01.2020, 19:47
  • 1
    Благодарите за свое сообщение. В моем случае с rxvt, установка set -ga terminal-overrides ",rxvt*:XT" –  favadi 11.05.2013, 07:39
  • 2
    Как @favadi указанный, надлежащая фиксация для этого должна использовать -a опция с set добавлять переопределения smcup/rmcup. Это устранит другие странные проблемы, как неспособность установить форму курсора правильно. –  blueyed 05.11.2014, 18:27

Столкнулся с этим потоком из tmux-пользовательского списка рассылки. Поток был назван: заголовки набора, не работающие. Существует несколько вещей от этого потока для попытки. Существует более чистая версия потока здесь также.

Ресурсы XTerm

Для начинающих возможная фиксация должна была добавить следующую строку к Вашему файлу Ресурсов XTerm, ~/.Xresources:

XTerm*allowSendEvents: true

Отладка tmux подсказки

Были также некоторые подсказки по отладке в этом потоке, который может помочь Вам также.

подробный tmux

  1. закройте все tmux сеансы
  2. выполните команду: tmux -vvvvv
  3. выполните команду: vi foo
  4. сохраните файл
  5. выход tmux

После выполнения, таким образом, у Вас должно быть 3 файла, что-то как они:

  • tmux-out-21594.log
  • tmux-client-21592.log
  • tmux-server-21594.log

информация о tmux

$ tmux info
tmux 1.4, pid 22182, started Fri May 10 04:00:37 2013
socket path /var/run/tmux/tmux-500/default, debug level 0
system is Linux 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64
configuration file is /home/saml/.tmux.conf
protocol version is 6

Clients:
 0: /dev/pts/12 (8, 11): 0 [132x24 xterm] [flags=0x1/0x38, references=0]

Sessions: [5/10]
 0: 0: 1 windows (created Fri May 10 04:00:37 2013) [132x23] [flags=0x0]
   0: bash [132x23] [flags=0x8, references=1, last layout=-1]
     0: /dev/pts/48 22183 13 1/23, 135 bytes; UTF-8 0/23, 0 bytes

Terminals:
xterm [references=1, flags=0x0]:
 1: acsc: (string) ``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
 0: AX: (flag) true
 2: bel: (string) \007
 ...
 ...
144: smul: (string) \033[4m
145: vpa: (string) \033[%i%p1%dd
146: xenl: (flag) true

Jobs:
2
27.01.2020, 19:47
  • 1
    я уже считал тот поток прежде, чем спросить здесь. XTerm*allowSendEvents: true не работал. Файлы журнала были загружены. Посмотрите мой обновленный вопрос. –  quanta 10.05.2013, 11:29
  • 2
    В будущем необходимо включать эти типы объектов в вопросе, чтобы не потратить впустую общие вещи перефразирования времени, которые Вы уже попробовали. –  slm♦ 10.05.2013, 11:32

Теги

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