Last active
November 5, 2023 23:39
-
-
Save atelic/e6fffc31482625cc4e0c to your computer and use it in GitHub Desktop.
A vim-friendly 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
# change prefix to Ctrl-a (like in gnu-screen) | |
unbind C-b | |
set-option -g prefix C-a | |
bind-key C-a send-prefix | |
# shell | |
set -g default-command /bin/zsh | |
set -g default-shell /bin/zsh | |
# start with window 1 (instead of 0) | |
set -g base-index 1 | |
# start with pane 1 | |
set -g pane-base-index 1 | |
# screen mode | |
set -g default-terminal "screen-256color" | |
# source config file | |
bind r source-file ~/.tmux.conf | |
# history | |
set -g history-limit 4096 | |
# allow terminal scrolling | |
set-option -g terminal-overrides 'xterm*:smcup@:rmcup@' | |
# use vi mode | |
setw -g mode-keys vi | |
set -g status-keys vi | |
setw -g utf8 on | |
# use mouse in copy mode | |
setw -g mode-mouse on | |
# tmux-zoom.sh | |
bind C-z run "tmux-zoom.sh" | |
# easy-to-remember split pane commands | |
bind | split-window -h | |
bind - split-window -v | |
unbind '"' | |
unbind % | |
# with mouse (click on pretty little boxes) | |
set -g mouse-select-window on | |
# colon : | |
bind : command-prompt | |
# panes | |
set -g mouse-select-pane on | |
set -g pane-border-fg black | |
set -g pane-active-border-fg brightred | |
set -g mouse-select-pane on | |
set -g mouse-resize-pane on | |
# moving between panes with vim movement keys | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
# status line | |
set -g status-utf8 on | |
set -g status-justify left | |
set -g status-bg default | |
set -g status-fg colour12 | |
set -g status-interval 2 | |
# messaging | |
set -g message-fg black | |
set -g message-bg yellow | |
set -g message-command-fg blue | |
set -g message-command-bg black | |
#window mode | |
setw -g mode-bg colour6 | |
setw -g mode-fg colour0 | |
# window status | |
#setw -g window-status-format " #F#I:#W#F " | |
#setw -g window-status-current-format " #F#I:#W#F " | |
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " | |
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " | |
setw -g window-status-current-bg colour0 | |
setw -g window-status-current-fg colour11 | |
setw -g window-status-current-attr dim | |
setw -g window-status-bg green | |
setw -g window-status-fg black | |
setw -g window-status-attr reverse | |
# Info on left (I don't have a session display for now) | |
set -g status-left '' | |
# loud or quiet? | |
set-option -g visual-activity off | |
set-option -g visual-bell off | |
set-option -g visual-silence off | |
set-window-option -g monitor-activity off | |
set-option -g bell-action none | |
# tmux clock | |
set -g clock-mode-colour blue | |
# some key-binding changes | |
bind x kill-pane | |
bind X next-layout | |
bind Z previous-layout | |
#urxvt tab like window switching (-n: no prior escape seq) | |
bind -n S-down new-window | |
bind -n S-left prev | |
bind -n S-right next | |
bind -n C-left swap-window -t -1 | |
bind -n C-right swap-window -t +1 | |
set -g default-terminal "screen-256color" | |
# The modes { | |
setw -g clock-mode-colour colour135 | |
setw -g mode-attr bold | |
setw -g mode-fg colour196 | |
setw -g mode-bg colour238 | |
# } | |
# The panes { | |
set -g pane-border-bg colour235 | |
set -g pane-border-fg colour238 | |
set -g pane-active-border-bg colour236 | |
set -g pane-active-border-fg colour51 | |
# } | |
# The statusbar { | |
set -g status-position bottom | |
set -g status-bg colour234 | |
set -g status-fg colour137 | |
set -g status-attr dim | |
set -g status-left '' | |
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' | |
set -g status-right-length 50 | |
set -g status-left-length 20 | |
setw -g window-status-current-fg colour81 | |
setw -g window-status-current-bg colour238 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
setw -g window-status-fg colour138 | |
setw -g window-status-bg colour235 | |
setw -g window-status-attr none | |
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | |
setw -g window-status-bell-attr bold | |
setw -g window-status-bell-fg colour255 | |
setw -g window-status-bell-bg colour1 | |
# } | |
# The messages { | |
set -g message-attr bold | |
set -g message-fg colour232 | |
set -g message-bg colour166 | |
# } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment