You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.3 KiB
79 lines
3.3 KiB
11 months ago
|
#Make nicer tmux motion keys that work with vim as well
|
||
|
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"
|
||
|
|
||
|
unbind C-b
|
||
|
set -g prefix C-p
|
||
|
bind C-p send-prefix
|
||
|
|
||
|
#Sane split commands
|
||
|
bind | split-window -h -c "#{pane_current_path}"
|
||
|
bind - split-window -v -c "#{pane_current_path}"
|
||
|
unbind '"'
|
||
|
unbind %
|
||
|
|
||
|
# reload config file (change file location to your the tmux.conf you want to use)
|
||
|
bind r source-file ~/.tmux.conf
|
||
|
|
||
|
#Gruvbox coloring for tmux
|
||
|
## COLORSCHEME: gruvbox dark (medium)
|
||
|
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 ""
|
||
|
|
||
|
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||
|
set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
|
||
|
|
||
|
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
|
||
|
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
|
||
|
|
||
|
#vim bindings in scroll mode
|
||
|
set-window-option -g mode-keys vi
|
||
|
bind-key -T copy-mode-vi v send -X begin-selection
|
||
|
bind-key -T copy-mode-vi V send -X select-line
|
||
|
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
|