-
-
Save Scherlac/ed92b911cc7b4fe705b79efa99d8ee67 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 | |
# 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 | |
# tmux-zoom.sh | |
bind C-z run "tmux-zoom.sh" | |
# easy-to-remember split pane commands | |
bind | split-window -h -c "#{pane_current_path}" | |
bind - split-window -v -c "#{pane_current_path}" | |
unbind '"' | |
unbind % | |
# colon : | |
bind : command-prompt | |
# panes | |
#set -g pane-border-fg black | |
#set -g pane-active-border-fg brightred | |
# 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 | |
# resize the pane | |
bind-key -r J resize-pane -D 3 | |
bind-key -r K resize-pane -U 3 | |
bind-key -r H resize-pane -L 3 | |
bind-key -r L resize-pane -R 3 | |
# status line | |
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-window-option -g mode-keys vi | |
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 | |
# } | |
set -g mouse on |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I personally don't find this config so quite helpful. Most probably, one or two lines would suffice for me :)