# Ring the bell if any background window rang a bell set -g bell-action any # split windows like vim # vim's definition of a horizontal/vertical split is reversed from tmux's bind s split-window -v bind v split-window -h # move around panes with hjkl, as one would in vim after pressing ctrl-w bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R # Create splits and vertical splits bind-key v split-window -h bind-key s split-window # Pane resize in all four directions using vi bindings. # Can use these raw but I map them to shift-ctrl- in iTerm. bind-key J resize-pane -D bind-key K resize-pane -U bind-key H resize-pane -L bind-key L resize-pane -R # Fix ctrl + L/R bind-key -n C-Right send-keys w bind-key -n C-Left send-keys b # setting titles on set -g set-titles on set -g set-titles-string "#T" set-option -g allow-rename on set -g history-limit 10000 setw -g mode-mouse on # Logout with Ctrl+D bind-key ^D detach-client # Use vi keybindings for tmux commandline input. # Note that to get command mode you need to hit ESC twice... set -g status-keys vi # Use vi keybindings in copy and choice modes setw -g mode-keys vi # v and y like vi in copy-mode bind-key -t vi-copy 'v' begin-selection bind-key -t vi-copy 'y' copy-selection # clipboard settings set -s set-clipboard on bind-key C-p run "xclip -o | tmux load-buffer - ; tmux paste-buffer" bind-key C-y run "tmux save-buffer - | xclip -i" # set first window to index 1 (not 0) to map more to the keyboard layout... set -g base-index 1 # color scheme (styled as vim-powerline) set -g status-left-length 52 set -g status-right-length 451 set -g status-fg white set -g status-bg colour234 set -g pane-border-fg colour245 set -g pane-active-border-fg colour39 set -g message-fg colour16 set -g message-bg colour221 set -g message-attr bold # set status-interval to 2 for tmux-mem-cpu-load set -g status-interval 2 set -g status-left '#[fg=colour235,bg=colour252,bold] #(hostname) #[fg=colour252,bg=colour238,nobold]⮀#[fg=colour245,bg=colour238,bold] #(whoami) #[fg=colour238,bg=colour234,nobold]⮀' set -g status-right "#[fg=colour235,bg=colour252]⮀#[fg=colour235,bg=colour252,bold] CPU:#{cpu_percentage} #{cpu_icon} Battery:#{battery_percentage} #{battery_icon}#[fg=colour252,bg=colour39]⮀#[fg=colour39,bg=colour234]⮀#[fg=colour39,bg=colour234] %H:%M ⮂" set -g window-status-format "#[fg=colour235,bg=colour252,bold] #I #W " set -g window-status-current-format "#[fg=colour234,bg=colour39]⮀#[fg=black,bg=colour39,noreverse,bold] #I: #W #[fg=colour39,bg=colour234,nobold]⮀" # No escape time for vi mode set -sg escape-time 0 # next/prev window bind-key -n M-k next-window bind-key -n M-j previous-window # select windows bind-key -n M-1 select-window -t 1 bind-key -n M-2 select-window -t 2 bind-key -n M-3 select-window -t 3 bind-key -n M-4 select-window -t 4 bind-key -n M-5 select-window -t 5 bind-key -n M-6 select-window -t 6 bind-key -n M-7 select-window -t 7 bind-key -n M-8 select-window -t 8 bind-key -n M-9 select-window -t 9 bind-key -n M-0 select-window -t 0 # Reload config bind r source-file ~/.tmux.conf # Swap windows bind-key m command-prompt -p "move window to:" "swap-window -t '%%'" # List of plugins # Supports `github_username/repo` or full git repo URLs set -g @tpm_plugins ' \ tmux-plugins/tpm \ tmux-plugins/tmux-sensible \ tmux-plugins/tmux-cpu \ tmux-plugins/tmux-yank \ tmux-plugins/tmux-open \ tmux-plugins/tmux-battery \ tmux-plugins/tmux-logging \ tmux-plugins/tmux-online-status \ tmux-plugins/tmux-sidebar \ ' # Other examples: # github_username/plugin_name \ # git@github.com/user/plugin \ # git@bitbucket.com/user/plugin \ # Initializes TMUX plugin manager. # Keep this line at the very bottom of tmux.conf. run-shell '~/.tmux/plugins/tpm/tpm'