Skip to content

Instantly share code, notes, and snippets.

@randywallace
Last active October 29, 2018 08:07
Show Gist options
  • Save randywallace/c7d66436083164cf8e01603fb09c3754 to your computer and use it in GitHub Desktop.
Save randywallace/c7d66436083164cf8e01603fb09c3754 to your computer and use it in GitHub Desktop.
.tmux.conf with some fancy styling
setw -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -R
bind l select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+
unbind C-b
set -g prefix ^A
bind a send-prefix
unbind A
bind A command-prompt "rename-window %%"
unbind ^A
bind ^A last-window
unbind K
bind K confirm-before "kill-window"
unbind k
bind k confirm-before "kill-window"
set -g default-terminal "screen-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"
set -g automatic-rename off
set -g status-left ''
set -g status-interval 1
set -sg escape-time 0
set-option -g status-right-length 110
set-option -g status-left-length 60
set-option -g visual-activity on
set-window-option -g monitor-activity on
set-window-option -g automatic-rename off
set-option -g allow-rename off
set-option -g set-titles on
set-option -g set-titles-string '[#I] #W'
set-option -g base-index 1
set-window-option -g mode-keys vi
set-option -g pane-active-border-fg yellow
set-option -g pane-border-fg white
set-option -g status on
set-option -g status-interval 2
set-option -g status-justify "centre"
set-option -g status-left-length 90
set-option -g status-right-length 90
set-window-option -g status-left-fg black
set-window-option -g status-left-bg white
set-window-option -g aggressive-resize on
set -g window-status-separator ''
set-option -g renumber-windows on
onedark_black="#282c34"
onedark_blue="#61afef"
onedark_yellow="#e5c07b"
onedark_red="#e06c75"
onedark_white="#aab2bf"
onedark_green="#98c379"
onedark_visual_grey="#3e4452"
onedark_comment_grey="#5c6370"
sep_bg=$onedark_comment_grey
stat_bg=$onedark_black
act_bg=$onedark_yellow
act_fg=$onedark_black
bell_bg=$onedark_red
bell_fg=$onedark_black
win_bg=$stat_bg
win_fg=$onedark_white
active_bg=$onedark_blue
active_fg=$onedark_black
last_win_bg=$onedark_green
last_win_fg=$onedark_black
powerline_character=''
powerline_separator=''
powerline_left=''
set -g status-bg $stat_bg
set -g status-fg $onedark_white
first_window_format="#[fg=$stat_bg,bg=$sep_bg,noreverse]$powerline_character"
first_window='#{?#{==:#{window_index},1},#{first_window_format},}'
end_window_format="#[fg=$sep_bg,bg=$stat_bg]$powerline_character"
end_window='#{?#{==:#{window_index},#{session_windows}},#{end_window_format},}'
prev_window_format_first="#[bg=$last_win_bg,fg=$sep_bg]"
status_window_format_first="#[bg=$win_bg,fg=$sep_bg]"
prev_window_test_first="#{?window_last_flag,#{prev_window_format_first},#{status_window_format_first}}"
prev_window_format_mid="#[bg=$last_win_bg,fg=$last_win_fg]"
status_window_format="#[bg=$win_bg,fg=$win_fg]"
prev_window_test_mid="#{?window_last_flag,#{prev_window_format_mid},#{status_window_format}}"
prev_window_format_last="#[bg=$sep_bg,fg=$last_win_bg]"
status_window_format_last="#[bg=$sep_bg,fg=$win_bg]"
prev_window_test_last="#{?window_last_flag,#{prev_window_format_last},#{status_window_format_last}}"
active_window_format_first="#[bg=$act_bg,fg=$sep_bg]"
active_window_test_first="#{?window_activity_flag,#{active_window_format_first},}"
active_window_format="#[bg=$act_bg,fg=$act_fg]"
active_window_test="#{?window_activity_flag,#{active_window_format},}"
active_window_format_last="#[bg=$sep_bg,fg=$act_bg]"
active_window_test_last="#{?window_activity_flag,#{active_window_format_last},}"
bell_window_format_first="#[bg=$bell_bg,fg=$sep_bg]"
bell_window_test_first="#{?window_bell_flag,#{bell_window_format_first},}"
bell_window_format="#[bg=$bell_bg,fg=$bell_fg]"
bell_window_test="#{?window_bell_flag,#{bell_window_format},}"
bell_window_format_last="#[bg=$sep_bg,fg=$bell_bg]"
bell_window_test_last="#{?window_bell_flag,#{bell_window_format_last},}"
window_status_start="$prev_window_test_first$active_window_test_first$bell_window_test_first#[noreverse]$powerline_character"
window_status_mid="$prev_window_test_mid$active_window_test$bell_window_test#[noreverse] #I $powerline_separator #W "
window_status_end="$prev_window_test_last$active_window_test_last$bell_window_test_last#[nobold]$powerline_character"
set -g window-status-format "$first_window$window_status_start$window_status_mid$window_status_end$end_window"
current_status_start="#[fg=$sep_bg,bg=$active_bg]$powerline_character"
current_status_mid="#[fg=$active_fg,bg=$active_bg,noreverse,bold] #I $powerline_separator #W "
current_status_end="#[fg=$active_bg,bg=$sep_bg,nobold]$powerline_character"
set -g window-status-current-format "$first_window$current_status_start$current_status_mid$current_status_end$end_window"
set-option -g status-left " #S "
prefix_pressed_format_right="#[fg=$onedark_red,bg=$stat_bg,bold]$powerline_left#[fg=$stat_bg,bg=$onedark_red] COMMAND #[fg=$stat_bg,bg=$onedark_red]$powerline_left"
prefix_pressed_format_left="#[fg=$stat_bg,bg=$onedark_red,bold]$powerline_character#[fg=$stat_bg,bg=$onedark_red] COMMAND #[fg=$onedark_red,bg=$stat_bg]$powerline_character"
copy_mode_format_right="#[fg=$onedark_yellow,bg=$stat_bg,bold]$powerline_left#[fg=$stat_bg,bg=$onedark_yellow] COPY #[fg=$stat_bg,bg=$onedark_yellow]$powerline_left"
copy_mode_format_left="#[fg=$stat_bg,bg=$onedark_yellow,bold]$powerline_character#[fg=$stat_bg,bg=$onedark_yellow] COPY #[fg=$onedark_yellow,bg=$stat_bg]$powerline_character"
set-option -g status-right "#{?client_prefix,#{prefix_pressed_format_right},}#{?#{==:#{pane_mode},copy-mode},#{copy_mode_format_right},}"
set-option -g status-left "#{?#{==:#{pane_mode},copy-mode},#{copy_mode_format_left},}#{?client_prefix,#{prefix_pressed_format_left},}#[bg=$stat_bg,fg=$onedark_yellow] #{session_name}"
set-option -g visual-activity off
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment