mirror of
https://github.com/GeorgeSG/dotfiles.git
synced 2026-09-05 08:58:44 +00:00
112 lines
2.4 KiB
Bash
112 lines
2.4 KiB
Bash
# ------------------
|
|
# General Settings
|
|
# ------------------
|
|
|
|
# Set Custom Prefix
|
|
set -g prefix C-a
|
|
unbind C-b
|
|
|
|
# Start in Zsh
|
|
set -g default-command '/bin/zsh --login'
|
|
set -g default-shell /bin/zsh
|
|
|
|
# Disable delay
|
|
set -sg escape-time 1
|
|
|
|
# Change the index of first window or pane to 1
|
|
set -g base-index 1
|
|
setw -g pane-base-index 1
|
|
|
|
# Configure Mouse
|
|
setw -g mode-mouse on
|
|
set -g mouse-select-pane on
|
|
set -g mouse-resize-pane on
|
|
set -g mouse-select-window on
|
|
|
|
# -------------------
|
|
# Visual Settings
|
|
# -------------------
|
|
|
|
set -g default-terminal "screen-256color"
|
|
|
|
# Theme
|
|
set -g status-bg black
|
|
set -g status-fg white
|
|
set -g status-left-length 30
|
|
set -g status-right-length 60
|
|
#
|
|
# Colors
|
|
set -g status-fg white
|
|
set -g status-bg colour234
|
|
set -g pane-border-fg colour245
|
|
set -g pane-active-border-fg colour25
|
|
set -g message-fg white
|
|
set -g message-bg colour25
|
|
set -g message-attr bold
|
|
|
|
# Status bar
|
|
# set-option -g status-position bottom
|
|
set -g status-left '#[fg=colour25,bg=white,bold] #S #[fg=colour252,bg=colour238,bold]#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,bold]'
|
|
set -g status-right '#[fg=colour238,bg=colour234,bold]#[fg=colour245,bg=colour238,bold] #H #[fg=colour252,bg=colour238,bold]#[fg=colour25,bg=white,bold] #(date +%H:%M) '
|
|
set -g window-status-format "#[fg=white,bg=colour234] #I #W "
|
|
set -g window-status-current-format "#[fg=white,bg=colour25,noreverse,bold] #I #W "
|
|
|
|
# --------------------
|
|
# Custom keybindings
|
|
# --------------------
|
|
|
|
setw -g mode-keys vi
|
|
bind C-a send-prefix
|
|
|
|
# Unbind unused defaults
|
|
unbind %
|
|
unbind [
|
|
unbind p
|
|
|
|
unbind Up
|
|
unbind Down
|
|
unbind Left
|
|
unbind Right
|
|
|
|
unbind M-Up
|
|
unbind M-Down
|
|
unbind M-Left
|
|
unbind M-Right
|
|
|
|
unbind C-Up
|
|
unbind C-Down
|
|
unbind C-Left
|
|
unbind C-Right
|
|
|
|
# Source this file
|
|
bind r source-file ~/.tmux.conf \; display "Config file reloaded!"
|
|
|
|
# Splits
|
|
bind v split-window -h
|
|
bind s split-window -v
|
|
|
|
# Move between panes
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
# Move between windows
|
|
bind -r C-h select-window -t :-
|
|
bind -r C-l select-window -t :+
|
|
|
|
# Resize panes
|
|
bind -r H resize-pane -L 5
|
|
bind -r J resize-pane -D 5
|
|
bind -r K resize-pane -U 5
|
|
bind -r L resize-pane -R 5
|
|
|
|
# Copy & Paste
|
|
bind Escape copy-mode
|
|
bind p paste-buffer
|
|
bind -t vi-copy 'v' begin-selection
|
|
bind -t vi-copy 'y' copy-selection
|
|
|
|
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
|
|
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
|