Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Settings for tmux
- # Setting the prefix from C-b to C-a
- set -g prefix C-a
- #
- # Free the original Ctrl-b prefix keybinding
- unbind C-b
- #
- # Setting duration of time to show message
- set-option -g display-time 4000
- #setting the delay between prefix and command
- set -s escape-time 1
- #
- # Ensure that we can send Ctrl-A to other apps
- bind C-a send-prefix
- # Set the base index for windows to 1 instead of 0
- set -g base-index 1
- set -g focus-events on
- # Set the base index for panes to 1 instead of 0
- setw -g pane-base-index 1
- # Reload the file with Prefix r
- bind r source-file ~/.tmux.conf \; display "Reloaded!"
- # splitting panes with | and -
- bind | split-window -h
- bind - split-window -v
- # moving between panes with Prefix h,j,k,l
- bind -r h select-pane -L
- bind -r j select-pane -D
- bind -r k select-pane -U
- bind -r l select-pane -R
- # Quick window selection
- bind -r C-h select-window -t :-
- bind -r C-l select-window -t :+
- # Pane resizing panes with Prefix H,J,K,L
- bind -r H resize-pane -L 5
- bind -r J resize-pane -D 5
- bind -r K resize-pane -U 5
- bind -r L resize-pane -R 5
- # mouse support - set to on if you want to use the mouse
- set -g mouse on
- # Set the default terminal mode to 256color mode
- set -g default-terminal "screen-256color"
- # set the status line's colors
- set -g status-style fg=white,bg=black
- # set the color of the window list
- setw -g window-status-style fg=cyan,bg=black
- # set colors for the active window
- setw -g window-status-current-style fg=white,bold,bg=red
- # colors for pane borders
- setw -g pane-border-style fg=green,bg=black
- setw -g pane-active-border-style fg=white,bg=yellow
- # active pane normal, other shaded out
- setw -g window-style fg=colour240,bg=colour235
- setw -g window-active-style fg=white,bg=black
- # Command / message line
- setw -g message-style fg=white,bold,bg=black
- # Status line left side to show Session:window:pane
- set -g status-left-length 40
- set -g status-left "#[fg=green]S:#S #[fg=yellow]W:#I #[fg=cyan]P:#P"
- # Status line right side - 31 Oct 13:37
- set -g status-right "#[fg=cyan]%b/%d %R"
- # Update the status line every sixty seconds
- set -g status-interval 60
- # Center the window list in the status line
- set -g status-justify centre
- # enable activity alerts
- setw -g monitor-activity on
- set -g visual-activity on
- # enable vi keys.
- setw -g mode-keys vi
- # split pane and retain the current directory of existing pane
- bind _ split-window -v -c "#{pane_current_path}"
- bind \ split-window -h -c "#{pane_current_path}"
- # Load mac-specific settings
- # Setting the namespace
- set -g default-command "reattach-to-user-namespace -l /bin/zsh"
- # Prefix C-c copy buffer to system clipboard
- bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
- # Prefix C-v paste system clipboard into tmux
- bind C-v run \
- "tmux set-buffer \"$(reattach-to-user-namespace pbpaste)\"; tmux paste-buffer"
- # Setup 'v' to begin selection as in Vim
- bind-key -t vi-copy v begin-selection
- bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
- # Update default binding of `Enter` to also use copy-pipe
- unbind -t vi-copy Enter
- bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
- ################## END Of Mac specific setting####################
- # load private settings if they exist
- if-shell "[ -f ~/.tmux.private]" "source ~/.tmux.private"
- is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
- | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
- bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
- bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
- bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
- bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
- bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
- # bind C-l send-keys 'C-l'
- set -g default-shell /bin/zsh
- set -g @plugin 'tmux-plugins/tpm'
- set -g @plugin 'tmux-plugins/tmux-resurrect'
- set -g @plugin 'tmux-plugins/vim-tmux-focus-events'
- set -g @plugin 'tmux-plugins/tmux-continuum'
- set -g @plugin 'tmux-plugins/tmux-copycat'
- set -g @plugin 'tmux-plugins/tmux-open'
- run '~/.tmux/plugins/tpm/tpm'
- is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
- | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
- bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
- bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
- bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
- bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
- bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
- # automatically save sessions
- set -g @continuum-restore 'on'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement