Last active
May 15, 2021 18:22
-
-
Save roz3x/343884e020734bc8d4ccd47641ae43af to your computer and use it in GitHub Desktop.
tmux config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
unbind C-b | |
set-option -g prefix C-a | |
# Base16 Styling Guidelines: | |
base00=default # - Default | |
base01='#151515' # - Lighter Background (Used for status bars) | |
base02='#202020' # - Selection Background | |
base03='#909090' # - Comments, Invisibles, Line Highlighting | |
base04='#505050' # - Dark Foreground (Used for status bars) | |
base05='#D0D0D0' # - Default Foreground, Caret, Delimiters, Operators | |
base06='#E0E0E0' # - Light Foreground (Not often used) | |
base07='#F5F5F5' # - Light Background (Not often used) | |
base08='#AC4142' # - Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted | |
base09='#D28445' # - Integers, Boolean, Constants, XML Attributes, Markup Link Url | |
base0A='#F4BF75' # - Classes, Markup Bold, Search Text Background | |
base0B='#90A959' # - Strings, Inherited Class, Markup Code, Diff Inserted | |
base0C='#75B5AA' # - Support, Regular Expressions, Escape Characters, Markup Quotes | |
base0D='#6A9FB5' # - Functions, Methods, Attribute IDs, Headings | |
base0E='#AA759F' # - Keywords, Storage, Selector, Markup Italic, Diff Changed | |
base0F='#8F5536' # - Deprecated, Opening/Closing Embedded Language Tags, e.g. <? php ?> | |
set -g status-left-length 32 | |
set -g status-right-length 150 | |
set -g status-interval 5 | |
set-option -g status-style fg=$base02,bg=$base00,default | |
set-window-option -g window-status-style fg=$base03,bg=$base00 | |
set-window-option -g window-status-format " #I #W" | |
# active window title colors | |
set-window-option -g window-status-current-style fg=$base0C,bg=$base00 | |
set-window-option -g window-status-current-format " #I #[bold]#W" | |
# pane border colors | |
set-window-option -g pane-active-border-style fg=$base0C | |
set-window-option -g pane-border-style fg=$base03 | |
# message text | |
set-option -g message-style bg=$base00,fg=$base0C | |
# pane number display | |
set-option -g display-panes-active-colour $base0C | |
set-option -g display-panes-colour $base01 | |
# clock | |
set-window-option -g clock-mode-colour $base0C | |
tm_session_name="#[default,bg=$base00,fg=$base0E] #S " | |
set -g status-left "$tm_session_name" | |
# tm_tunes="#[bg=$base00,fg=$base0D] ♫ #(osascript -l JavaScript ~/.dotfiles/applescripts/tunes.js)" | |
tm_battery="#[fg=$base0F,bg=$base00] ♥ #(battery)" | |
tm_date="#[default,bg=$base00,fg=$base0C] %R" | |
tm_host="#[fg=$base0E,bg=$base00] #h " | |
set -g status-right "$tm_battery $tm_date $tm_host" | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
set -g base-index 1 | |
set -g pane-base-index 1 | |
set -g status-position top | |
set -g mouse on | |
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ | |
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" | |
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' | |
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' | |
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' | |
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' | |
tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' | |
if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ | |
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" | |
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ | |
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" | |
bind-key -T copy-mode-vi 'C-h' select-pane -L | |
bind-key -T copy-mode-vi 'C-j' select-pane -D | |
bind-key -T copy-mode-vi 'C-k' select-pane -U | |
bind-key -T copy-mode-vi 'C-l' select-pane -R | |
bind-key -T copy-mode-vi 'C-\' select-pane -l | |
bind c new-window -c "#{pane_current_path}" | |
bind '"' split-window -c "#{pane_current_path}" | |
bind % split-window -h -c "#{pane_current_path}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment