Я знаю, як прокручувати tmux за допомогою клавіатури, але я помітив, що, схоже, існує спосіб використання смуги прокрутки терміналів за допомогою екрана GNU . Чи можна це зробити за допомогою tmux?
Я знаю, як прокручувати tmux за допомогою клавіатури, але я помітив, що, схоже, існує спосіб використання смуги прокрутки терміналів за допомогою екрана GNU . Чи можна це зробити за допомогою tmux?
Відповіді:
Це можливо, як на екрані GNU, так і в tmux, і спосіб вирішення подібний: для того, щоб обдурити мультиплексори думати, що термінал не має режиму "альтернативного екрана" (такого, який використовується pico, mutt тощо). Це досягається встановленням команд termcap для сеансу.
Для екрана GNU помістіть це у свій .screenrc
:
termcapinfo xterm*|xs|rxvt|terminal ti@:te@
а для tmux додайте це до свого .tmux.conf
:
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
Частина команди ' xterm*
' повинна бути встановлена на те, що ваш термінальний емулятор оголошено як. Якась форма xterm - це гарна здогадка, але ви можете перевірити своє на більшості розумних * nix систем за допомогою:
echo $TERM
і зазвичай це можна встановити в налаштуваннях вашої термінальної програми (тобто для Apple Terminal.app
, це в розділі Налаштування-> Профіль-> Додатково (або Налаштування-> Додатково-> Емуляція попереднього йосеміту) "Оголосити термінал як".
Кінцевим результатом є те, що переповнення закінчується в буфері прокрутки термінала, а не зникає. Звичайно, оскільки це один статичний буфер, все стане брудно, коли ви переходите між екраном або tmux вікнами, але це зручно для швидкого вгору, щоб побачити вихід ls
команди чи іншого.
Щоб увімкнути прокрутку, ви можете ввімкнути вбудований режим миші у ~/.tmux.conf
наступному:
set -g mode-mouse on