.tmux.conf

Deprecated

Please refer to: https://github.com/oceanpad/tmux-conf

Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated
Deprecated

  • Install Tmux Plugins Manager
    1
    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  • Install tmux-mem-cpu-load
  • Before Install this plugin you need install zsh and cmake

    1
    2
    3
    4
    5
    sudo apt-get install zsh
    sudo apt-get install cmake
    git clone https://github.com/thewtex/tmux-mem-cpu-load.git ~/.tmux/plugins/tmux-mem-cpu-load
    cd tmux-mem-cpu-load
    zsh tmux-mem-cpu-load.plugin.zsh
  • .tmux.conf file (location at home directory. cd ~/)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    # https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf
    # color
    set -g default-terminal "screen-256color"
    set-option -g status-bg colour235 #base02
    set-option -g status-fg colour136 #yellow
    set-option -g status-attr default
    # set window split
    bind-key v split-window -h
    bind-key b split-window
    # default window title colors
    set-window-option -g window-status-fg colour244 #base0
    set-window-option -g window-status-bg default
    #set-window-option -g window-status-attr dim
    # active window title colors
    set-window-option -g window-status-current-fg colour166 #orange
    set-window-option -g window-status-current-bg default
    #set-window-option -g window-status-current-attr bright
    # pane border
    set-option -g pane-border-fg colour235 #base02
    set-option -g pane-active-border-fg colour240 #base01
    # message text
    set-option -g message-bg colour235 #base02
    set-option -g message-fg colour166 #orange
    # pane number display
    set-option -g display-panes-active-colour colour33 #blue
    set-option -g display-panes-colour colour166 #orange
    # clock
    set-window-option -g clock-mode-colour green #green
    set -g status-interval 1
    set -g status-justify centre # center align window list
    set -g status-left-length 40
    set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright] #{download_speed}'
    set -g @net_speed_format "%10s %10s"
    # C-b is not acceptable -- Vim uses it
    set-option -g prefix C-a
    bind-key C-a last-window
    # Start numbering at 1
    set -g base-index 1
    # Allows for faster key repetition
    set -s escape-time 0
    # Rather than constraining window size to the maximum size of any client
    # connected to the *session*, constrain window size to the maximum size of any
    # client connected to *that window*. Much more reasonable.
    setw -g aggressive-resize on
    # Allows us to use C-a a <command> to send commands to a TMUX session inside
    # another TMUX session
    bind-key a send-prefix
    # Activity monitoring
    setw -g monitor-activity on
    set -g visual-activity on
    # Vi copypaste mode
    set-window-option -g mode-keys vi
    bind-key -t vi-copy 'v' begin-selection
    bind-key -t vi-copy 'y' copy-selection
    # hjkl pane traversal
    bind h select-pane -L
    bind j select-pane -D
    bind k select-pane -U
    bind l select-pane -R
    # set to main-horizontal, 60% height for main pane
    bind m set-window-option main-pane-height 60\; select-layout main-horizontal
    bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
    #clipvoard
    #bind-key p save-buffer ~/.tmux-buffer \; run-shell "xsel -i -b <~/.tmux-buffer && rm ~/.tmux-buffer"
    # reload config
    bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
    # auto window rename
    set-window-option -g automatic-rename
    # https://github.com/edkolev/dots/blob/master/tmux.conf
    # Updates for tmux 1.9's current pane splitting paths.
    # from powerline
    run-shell "tmux set-environment -g TMUX_VERSION_MAJOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f1 | sed 's/[^0-9]*//g')"
    run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f2 | sed 's/[^0-9]*//g')"
    # status bar
    if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on'
    # rm mouse mode fail
    if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\) -o #{$TMUX_VERSION_MAJOR} -gt 2' 'set -g mouse off'
    if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 1\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g mode-mouse off'
    # fix pane_current_path on new window and splits
    if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind c; bind c new-window -c "#{pane_current_path}"'
    if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'"
    if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind v; bind v split-window -h -c "#{pane_current_path}"'
    if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind %; bind % split-window -h -c "#{pane_current_path}"'
    # List of plugins
    set -g @plugin 'tmux-plugins/tpm'
    set -g @plugin 'tmux-plugins/tmux-sensible'
    set -g @plugin 'tmux-plugins/tmux-yank'
    set -g @plugin 'tmux-plugins/tmux-resurrect'
    set -g @resurrect-capture-pane-contents 'on'
    set -g @resurrect-strategy-vim 'session'
    set -g @plugin 'tmux-plugins/tmux-continuum'
    set -g @continuum-restore 'on'
    set -g @plugin 'tmux-plugins/tmux-pain-control'
    set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
    set -g @plugin 'tmux-plugins/tmux-net-speed'
    #set -g @plugin 'tmux-plugins/tmux-sidebar'
    set -g @plugin 'tmux-plugins/tmux-open'
    set -g status-right "#{prefix_highlight} #(tmux-mem-cpu-load) | %a %Y-%m-%d %H:%M"
    set -g status-right-length 100
    set -g base-index 1
    setw -g pane-base-index 1
    # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
    run '~/.tmux/plugins/tpm/tpm'

Install tmux plugin

press ctrl + a and I (upper case)