Как узнать, какая панель в Tmux сфокусирована?


83

Я начинаю использовать tmux (думаю о переключении с экрана), но мне трудно сказать, какая панель сфокусирована, когда я разбиваю окно на несколько панелей. Есть ли настройка конфигурации или что-то, что может более явно выделить область с фокусом?

Ответы:


100

Вот соответствующие настройки:

pane-active-border-bg colour

pane-active-border-fg colour
    Set the pane border colour for the currently active pane.

Итак, попробуйте добавить что-то вроде этого в свой ~/.tmux.conf:

set-option -g pane-active-border-fg blue

Это установит синюю рамку вокруг активной панели. Эта pane-active-border-bgопция также может быть использована для более заметного решения.


1
Я не вижу этой опции на моей странице руководства, и она не распознается моей версией tmux.
дан

2
Хорошо, спасибо, что сообщили мне. Раздражает то, что tmux (?), Похоже, не имеет способа показать вам, какую версию вы используете.
дан

3
@dan Ха-ха, я тоже это заметил. Как ни странно, я думаю , что это одна из функций , добавленных в версии 1.4: tmux -V. Если вы используете Ubuntu или систему на основе Debian, вы можете проверить это с помощью dpkg -l | grep tmux.
Алан Кристофер Томас

13
Это кажется лучшим ответом, к сожалению, если у вас есть только один разделитель, все, что он делает, - это цвет разделителя, и он не меняется независимо от того, какая панель активна.
Фон

3
Обратите внимание, что это исправлено в более поздних версиях. Теперь он окрашивает только половину разделителя в зависимости от того, на какой панели вы находитесь.
Хрониал,

34

Как было сказано в другом сообщении, теперь в tmux 2.1 можно устанавливать цвета отдельных панелей. Можно использовать:

set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=colour250,bg=black'

в ~/.tmux.confфайле, чтобы показать разницу между активными и неактивными панелями.

С Vim. Если вы обнаружите, что он не работает с панелями Vim, это может быть связано с используемой вами цветовой схемой. Сначала попробуйте другую цветовую схему, например pablo. Для получения дополнительной информации см. Другой пост .


1
@Solidak Это может быть цветовая схема Vim, которую вы используете - подробнее см. В другом посте.
декан.

Странно, что это параметры «стиль окна» и «стиль активного окна», но это относится к панелям tmux, а не к окнам tmux.
Зайд Гарайбех

13

Настройте status-leftи используйте #Pпару символов, которая является номером панели. Вероятно, вы захотите включить в строку состояния не только номер панели, но вот пример строки, которую вы бы добавили в свою ~/.tmux.confтолько для номера панели:

set-option -g status-left '#P'

Дополнительные пары символов см. На странице руководства tmux: http://manpages.ubuntu.com/manpages/precise/en/man1/tmux.1.html


1
Ах, только что сообразил, что вы собираетесь выделить на выбранной панели больше, чем просто индикатор состояния. Надеюсь, это сейчас полезно. Извините за неверное понимание вопроса.
Алан Кристофер Томас

6

Одно из решений, которое мне подходит, - добавить панель отображения в конце горячей клавиши для переключения панели. Это отобразит все номера панелей, а текущая панель будет выделена другим цветом. Вы также можете использовать <escape_key> + qдля отображения номеров панелей.

Я использую alt+h/j/k/lдля переключения между панелями и использую следующую привязку.

bind -n M-j select-pane -D \; display-pane                                                                                                                                                                                                               
bind -n M-k select-pane -U \; display-pane                                                                                                                                                                                                               
bind -n M-h select-pane -L \; display-pane                                                                                                                                                                                                               
bind -n M-l select-pane -R \; display-pane  

0

Я хотел, чтобы границы активной панели были ярче, чем у других панелей, поэтому я пошел с этим (работает в tmux 1.8 с CentOS 7):

~ / .tmux.conf фрагмент

# rgb hex codes from https://www.rapidtables.com/web/color/RGB_Color.html
set-option -g pane-active-border-fg '#33FF33' # brighter green
set-option -g pane-border-fg '#006600' # darker green

На странице руководства tmux говорится, что цвета hex-RGB будут приблизительными, и я считаю, что шестнадцатеричные коды легче понять, чем помнить, что «colour47» (out of colour0-255) является своего рода светло-зеленым (как описано в разделе Как работает палитра цветов tmux работать? ).

выдержка из man-страницы tmux:

message-bg colour
    Set status line message background colour, ...etc...
    or a hexadecimal RGB string such as ‘#ffffff’, which chooses the closest
    match from the default 256-colour set.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.