Skip to content

Instantly share code, notes, and snippets.

@Albert-IV
Created October 3, 2021 02:12
Show Gist options
  • Save Albert-IV/c4c135e3d7ecd9edb396a4ed40ed2e77 to your computer and use it in GitHub Desktop.
Save Albert-IV/c4c135e3d7ecd9edb396a4ed40ed2e77 to your computer and use it in GitHub Desktop.
.tmux.conf
##########################################################
# Setting up correct Terminal coloring
#
# See:
# https://jdhao.github.io/2018/10/19/tmux_nvim_true_color/
##########################################################
# Set up colors
set -g default-terminal "tmux-256color"
# tell Tmux that outside terminal supports true color
set -ga terminal-overrides ",xterm-256color-italic*:Tc"
######################################################################
# End Terminal Coloring
######################################################################
#######################
# General Tmux Settings
#######################
# Set mouse control
set -g mouse on
# Don't delay escape keypresses
# (IE unbreak vim mode swapping)
set -sg escape-time 10
# Make titles not always be `tmux`
set-option -g set-titles on
# don't rename windows automatically
set-option -g allow-rename off
# Have a long scrollback
set-option -g history-limit 10000
# Be able to copy in Kitty
set -g set-clipboard on
#####################
# Key Binding Section
#####################
# Spit panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Bind swapping panes via HJKL
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Bind _moving_ panes around using <C-h> <C-j> <C-k> <C-l>
# bind C-h swap-pane -L
bind C-j swap-pane -D
bind C-k swap-pane -U
# bind C-l swap-pane -R
# Set status bar at the top of the screen
set-option -g status-position top
# <leader> C will clear scrollback history in a tmux pane
bind-key C send-keys "clear && tmux clear-history" \; send-keys "Enter"
set-option -g focus-events on
# Enable UTF-8 in status bar
set -gq status-utf8 on
set-option -g status on
set-option -g status-interval 1
set-option -g status-justify left
set-option -g status-keys vi
set-option -g status-style fg=colour136,bg=colour235
# set-option -g status-left-length 20
# set-option -g status-left-style default
# set-option -g status-left "#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r)#[default]"
set-option -g status-left ""
set-option -g status-right-length 140
set-option -g status-right-style default
set-option -g status-right "#[fg=green,bg=default,bright]#(tmux-mem-cpu-load -a 0 -g 15) "
set-option -ag status-right "#[fg=white,bg=default]%l:%M:%S %p#[default] #[fg=blue]%a %b %e %Y "
# set-window-option -g window-status-style fg=colour244
# set-window-option -g window-status-style bg=default
# set-window-option -g window-status-current-style fg=colour166
# set-window-option -g window-status-current-style bg=default
setw -g window-status-separator '  '
setw -g window-status-current-style 'fg=green bg=color8 bold'
setw -g window-status-current-format ' [#I]#[fg=white] #W#[fg=colour249]#F '
setw -g window-status-style 'fg=darkgray bg=default dim'
setw -g window-status-format ' [#I]#[fg=colour250] #W#[fg=colour244]#F '
#-------------------------------------------------------#
# Pane colours
#-------------------------------------------------------#
# set active-inactive window styles
set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=default,bg=colour234'
# Pane border
# set -g pane-border-bg default
# set -g pane-border-fg colour238
# Active pane border
# set -g pane-active-border-bg default
# set -g pane-active-border-fg blue
#-------------------------------------------------------#
#
#-------------------------------------------------------#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment