97 lines
2.9 KiB
Bash
97 lines
2.9 KiB
Bash
# prefix
|
|
unbind C-b
|
|
set -g prefix C-Space
|
|
|
|
# send prefix to nested session after ctrl a
|
|
bind-key -n C-a send-prefix
|
|
|
|
# default shell
|
|
set-option -g default-shell /bin/zsh
|
|
|
|
#for copying to sys clipboard
|
|
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
bind - split-window -v -c "#{pane_current_path}"
|
|
unbind '"'
|
|
unbind %
|
|
|
|
bind -n M-Left select-pane -L
|
|
bind -n M-Right select-pane -R
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Down select-pane -D
|
|
|
|
set -g mouse on
|
|
|
|
set-window-option -g mode-keys vi
|
|
|
|
set-option -g automatic-rename on
|
|
set-option -g automatic-rename-format '#{b:pane_current_path}'
|
|
|
|
set -g default-terminal "xterm-256color"
|
|
set -ga terminal-overrides ",xterm-256color:Tc"
|
|
|
|
# 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-copycat'
|
|
set -g @plugin 'tmux-plugins/tmux-open'
|
|
|
|
set -g default-terminal "screen-256color"
|
|
bind-key -n Home send Escape "OH"
|
|
bind-key -n End send Escape "OF"
|
|
|
|
# copying
|
|
set -g set-clipboard on
|
|
set -g @override_copy_command 'xclip -i -selection clipboard'
|
|
set -g @yank_selection 'clipboard'
|
|
set -as terminal-features ',*:clipboard'
|
|
|
|
# Start windows and panes at 1, not 0
|
|
set -g base-index 1
|
|
set -g pane-base-index 1
|
|
set-window-option -g pane-base-index 1
|
|
set-option -g renumber-windows on
|
|
|
|
# Shift arrow to switch windows
|
|
bind -n S-Left previous-window
|
|
bind -n S-Right next-window
|
|
|
|
# Shift Alt vim keys to switch windows
|
|
bind -n M-H previous-window
|
|
bind -n M-L next-window
|
|
|
|
# vim tmux navigator
|
|
set -g @plugin 'christoomey/vim-tmux-navigator'
|
|
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect' # persistant tmux sessions
|
|
set -g @plugin 'tmux-plugins/tmux-continuum' # auto-save sessions
|
|
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
set -g @continuum-restore 'on'
|
|
|
|
# Dracula theme
|
|
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
|
|
set -g @plugin 'dracula/tmux'
|
|
set -g @dracula-show-powerline true
|
|
set -g @dracula-plugins "git network network-vpn platerctl time battery"
|
|
# it can accept `hostname` (full hostname), `session`, `shortname` (short name), `smiley`, `window`, or any character.
|
|
set -g @dracula-show-left-icon session
|
|
set -g @dracula-show-empty-plugins false
|
|
set -g @dracula-battery-label "🔋"
|
|
set -g @dracula-show-timezone false
|
|
set -g @dracula-military-time true
|
|
set -g @dracula-day-month true
|
|
set -g @dracula-show-fahrenheit false
|
|
set -g @dracula-playerctl-format "► {{ artist }} - {{ title }}"
|
|
# for left
|
|
set -g @dracula-show-left-sep \uE0C0
|
|
|
|
# for right symbol (can set any symbol you like as separator)
|
|
set -g @dracula-show-right-sep \uE0B2
|
|
|
|
|
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
run -b '~/.tmux/plugins/tpm/tpm'
|