Skip to content

Instantly share code, notes, and snippets.

@Randy1Burrell
Last active August 17, 2020 17:06
Show Gist options
  • Save Randy1Burrell/5e1ce1d009e67fcf92b7a5d9d5307539 to your computer and use it in GitHub Desktop.
Save Randy1Burrell/5e1ce1d009e67fcf92b7a5d9d5307539 to your computer and use it in GitHub Desktop.
My main configuration for tmux I download to new computers when setting them up for personal use with linux
# Set as the root configuration system wide
root = true
# Unix-style newlines with a new line ending every file
[*]
end_of_line = lf
# Remove trailing white spaces for every file type
trim_trailing_whitespace = true
# Matched different files
# Set default charset
[*.{js,java,html,php,py,rb,css,c,cpp}]
charset = utf-8
# Insert a final new line for certain file types
insert_final_newline = true
# Indentation style for python files
[*.{py,js,rb,php,c,cpp,java}]
indent_style = space
indent_size = 4
[*.{html,htm,css}]
indent_style = space
indent_size = 2
[MakeFile]
charset = utf-8
indent_style = tab
## Setting default key bindings in tmux to vi
# Set status keys to vi
set-option -g status-keys vi
# Set option keys to vi
set-option -g mode-keys vi
## Default shell
# Set default shell to zsh
set-option -g default-shell /bin/zsh
# Set default shell color
set -g default-terminal "screen-256color"
## Turn mouse mode on for selecting and scrolling
# Turn on mouse mode
set-window-option -g mouse-mode on
# Able to select different windows using the mouse
set-option -g mouse-select-window on
# Set option to select different panes using the mouse
set-option -g mouse-select-pane on
# Using this option to be able to resize panes with the mouse
set-option -g mouse-resize-pane on
## Status bar configurations
# Set background color of status bar to blue
set-option -g status-bg blue
# Set colors of words in the foreground to white
set-option -g status-fg white
# Set the active window color to magenta highlight
set-window-option -g window-status-current-bg magenta
# Set the length of the right side of the status bar
set-option -g status-right-length 250
# On the right status bar this command
# Appends who I am logged in as and host name
# To the default right status tmux is configured to show
set-option -a status-right " | User: #(whoami) | Host: #H "
# Set the length of the right side of the status bar
set-option -g status-left-length 200
# On the left status bar this command
# Session: session name and adds som space after
set-option -g status-left "Session: #S "
## Bind keys configuration
# Rebinding prefix key
set-option -g prefix C-a
# Split window horizontally
bind-key F2 split-window -h
# Split window vertically
bind-key F1 split-window -v
# bind key to reload tmux configuration
bind-key C-f source-file ~/.tmux.conf
# Double tapping the prefix jumps to last window
bind-key C-a last-window
## Other configuration
# Set escape time to 0 for session server
set-option -s escape-time 0
# Lengthen the display time
set-option -g display-time 3000
# Lengthen the amount of time pane numbers take to dissapear
set-option -g display-panes-time 5000
# Set the base-index of windows and panes to 1 rather than 0
set-option -g base-index 1
set-window-option -g pane-base-index 1
# Set difault history limit
set-option -g history-limit 20000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment