mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-22 22:45:37 +00:00
107 lines
3.8 KiB
Plaintext
107 lines
3.8 KiB
Plaintext
# Keep plenty of history for scrollback
|
|
set -g history-limit 100000
|
|
|
|
# Remove delay for entering copy mode
|
|
set-option -sg escape-time 0
|
|
|
|
# Horizontal and vertical splits
|
|
bind \\ split-window -h -c '#{pane_current_path}'
|
|
bind - split-window -v -c '#{pane_current_path}'
|
|
|
|
# Move between panes with vi keys
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
# Split out pane
|
|
bind b break-pane
|
|
|
|
# Copy mode works as Vim
|
|
bind Escape copy-mode
|
|
bind C-[ copy-mode
|
|
bind p paste-buffer
|
|
|
|
# Vi-style scrollback with prefix + C-[
|
|
set-window-option -g mode-keys vi
|
|
|
|
# Use v to trigger selection
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
|
|
# Use y to yank current selection
|
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
|
|
# Enable mouse mode
|
|
set -g mouse on
|
|
|
|
# Status bar
|
|
set -g status-interval 60 # Seconds between refreshes
|
|
set -g renumber-windows on
|
|
set-option -g base-index 1 # Set 1 for first window (easier to type)
|
|
set-window-option -g pane-base-index 1 # Set 1 for first pane (easier to type)
|
|
set-option -g status-position bottom
|
|
|
|
################################
|
|
|
|
## COLORSCHEME: gruvbox dark
|
|
set-option -g status "on"
|
|
|
|
# Default statusbar color
|
|
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
|
|
|
# Default window title colors
|
|
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
|
|
|
|
# Default window with an activity alert
|
|
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
|
|
|
|
# Active window title colors
|
|
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
|
|
|
|
# Pane border
|
|
set-option -g pane-active-border-style fg=colour250 #fg2
|
|
set-option -g pane-border-style fg=colour237 #bg1
|
|
|
|
# Message infos
|
|
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
|
|
|
|
# Writing commands inactive
|
|
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
|
|
|
|
# Pane number display
|
|
set-option -g display-panes-active-colour colour250 #fg2
|
|
set-option -g display-panes-colour colour237 #bg1
|
|
|
|
# Clock
|
|
set-window-option -g clock-mode-colour colour109 #blue
|
|
|
|
# Bell
|
|
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
|
|
|
|
# Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
|
set-option -g status-justify "left"
|
|
set-option -g status-left-style none
|
|
set-option -g status-left-length "80"
|
|
set-option -g status-right-style none
|
|
set-option -g status-right-length "80"
|
|
set-window-option -g window-status-separator ""
|
|
|
|
WEATHER='#(weather_cached)'
|
|
set-option -g status-left "#[fg=colour248, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]"
|
|
set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d %H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]#[fg=colour237, bg=colour248]#(gitmux -cfg .gitmux.conf '#{pane_current_path}') #[fg=colour237, nobold, bg=colour248]$WEATHER #[fg=colour237] "
|
|
|
|
set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]#[fg=colour239, bg=colour214] #I #[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]"
|
|
set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]#[fg=colour223,bg=colour239] #I #[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]"
|
|
|
|
# List of plugins
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'yardnsm/tmux-1password'
|
|
|
|
# Customize 1pass
|
|
bind i run-shell "reset_1p"
|
|
set -g @1password-copy-to-clipboard 'on'
|
|
|
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
run '~/.tmux/plugins/tpm/tpm'
|
|
|