Tmux


Config

Tmux – свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана.

Конфигурационный файл /home/user/.tmux.conf


# перечитать конфигурационный файл, c-a r
unbind r
bind r source-file ~/.tmux.conf \; display "Конфиг перезагружен"

# Размер буфера истории
set -g history-limit 10000

# включить прокрутку по shift pgup/pgdn
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

# Меняем начальный индекс окон на 1 вместо 0
set -g base-index 1

# Меняем начальный индекс панелей на 1 вместо 0
setw -g pane-base-index 1

# Включаем поддержку мышки (начиная с версии 2.1)
set -g mouse on

# Визуализция активности в других окнах
set -g monitor-activity on
set -g visual-activity on


# Клавиатурные сочетания ------------------------------------------------------

# Меняем стандартный префикс на <C-a>
unbind C-b
set -g prefix C-a

unbind %                      # Выключаем клавишу для горизонтального разбиения окна
bind h split-window -h        # Назначаем h
unbind '"'                    # Тоже самое, только по вертикали
bind v split-window -v        # Назначаем v


# Status Bar -----------------------------------------------------------------

set-option -g status on                # turn the status bar on
set -g status-interval 5               # set update frequencey (default 15 seconds)
set -g status-justify left             # center window list for clarity
# set-option -g status-position top    # position the status bar at top of screen

# left side of status bar
set -g status-left-length 70
set -g status-right-length 60
set -g status-right "#[fg=yellow] %T"


# Цвета  ---------------------------------------------------------------------

# Выставляем 256 цветов по умолчанию
set -g default-terminal "xterm-256color"

# set pane colors - hilight the active pane
set-option -g pane-border-fg colour235 #base02
set-option -g pane-active-border-fg colour240 #base01

# colorize messages in the command line
set-option -g message-bg black #base02
set-option -g message-fg brightred #orange

# set color for status bar
set-option -g status-bg colour235 #base02
set-option -g status-fg yellow #yellow
set-option -g status-attr dim

# set window list colors - red for active and cyan for inactive
set-window-option -g window-status-fg brightblue #base0
set-window-option -g window-status-bg colour236
set-window-option -g window-status-attr dim

set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg colour236
set-window-option -g window-status-current-attr bright

Переопределённые клавиатурные сочетания:

Сессия
   tmux              подключиться
   ctrl + a + b      отключиться

Окна
   ctrl + a + &      закрыть окно (можно просто набрать exit в терминале)
   ctrl + a + c      создать новое окно
   ctrl + a + 0..9   перейти на окно с заданным номером
   ctrl + a + w      выбрать окно в меню
   ctrl + a + n      перейти на следующее окно
   ctrl + a + p      перейти в предыдущее окно

Панели
   ctrl + a + v      разбить текущее окно по вертикали
   ctrl + a + h      разбить текущее окно по горизонтали
   ctrl + a + ← ↑ → ↓    переход между панелями
   ctrl + a + x      закрыть панель (можно просто набрать exit в терминале)

Bash

Для сохранения истории ввода команд bash со всех панелей: в ~/.bashrc добавить

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big history
export HISTFILESIZE=100000               # big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

Дополнительные источники