diff options
Diffstat (limited to '.tmux.conf')
| -rw-r--r-- | .tmux.conf | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..70e483b --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,123 @@ +# tmux configuration based on: https://github.com/0xAX/my-dotfiles + +# +# Keybindings +# +set -g prefix C-x +bind C-x send-prefix +unbind C-x + +unbind C-b +unbind C-a +unbind % +unbind , +unbind . +unbind n +unbind p +unbind [ +unbind '"' +unbind l +unbind & +unbind "'" +unbind w + +# +# vi +# + +# vi status keys +set-window-option -g mode-keys vi +set-option -g status-keys vi + +# copy & paste like vim +unbind [ +bind Escape copy-mode +unbind p +bind p paste-buffer +bind-key -t vi-copy 'v' begin-selection +bind-key -t vi-copy 'y' copy-selection + + +# move tmux copy buffer into x clipboard +bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip" + +# +# manage windows +# +bind-key n new-window +bind-key k kill-window +bind-key 2 split-window -h +bind-key 3 split-window + +bind -n C-Right next-window +bind -n C-Left previous-window + +# +# manage panes +# +bind-key x kill-pane + +bind -n S-Up select-pane -U +bind -n S-Down select-pane -D +bind -n S-Left select-pane -L +bind -n S-Right select-pane -R + +bind -n M-S-Up resize-pane -U +bind -n M-S-Down resize-pane -D +bind -n M-S-Left resize-pane -L +bind -n M-S-Right resize-pane -R + +# +# window title +# +set-window-option -g automatic-rename on +set-option -g set-titles on +set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not) + +# +# misc +# +set -g history-limit 1500 +set -g default-terminal "screen-256color" +set -g bell-action none + +setw -g monitor-activity on +set -g base-index 1 +setw -g pane-base-index 1 + +# +# ui: shamelessly taken from: https://github.com/magarcia/dotfiles +# +set -g status-bg "colour0" +set -g message-command-fg "colour15" +set -g status-justify "left" +set -g status-left-length "100" +set -g status "on" +set -g pane-active-border-fg "colour10" +set -g message-bg "colour8" +set -g status-right-length "100" +set -g status-right-attr "none" +set -g message-fg "colour15" +set -g message-command-bg "colour8" +set -g status-attr "none" +set -g pane-border-fg "colour8" +set -g status-left-attr "none" +setw -g window-status-fg "colour7" +setw -g window-status-attr "none" +setw -g window-status-activity-bg "colour0" +setw -g window-status-activity-attr "none" +setw -g window-status-activity-fg "colour10" +setw -g window-status-separator "" +setw -g window-status-bg "colour0" +set -g status-left "#[fg=colour234,bg=colour10] #S #[fg=colour10,bg=colour0,nobold,nounderscore,noitalics]▓▒░" +set -g status-right "#[fg=colour7,bg=colour0,nobold,nounderscore,noitalics]░▒▓#[fg=colour234,bg=colour7] %Y-%m-%d | %H:%M #[fg=colour7,bg=colour7,nobold,nounderscore,noitalics]░▒▓#[fg=colour234,bg=colour7] #h " +setw -g window-status-format "#[fg=colour7,bg=colour0] #I |#[fg=colour7,bg=colour0] #W " +setw -g window-status-current-format "#[fg=colour0,bg=colour8,nobold,nounderscore,noitalics]▓▒░#[fg=colour15,bg=colour8] #I |#[fg=colour15,bg=colour8] #W #[fg=colour8,bg=colour0,nobold,nounderscore,noitalics]▓▒░" + +# coping inside tmux +bind c copy-mode +bind p paste-buffer +# copy from system to tmux +bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer" +# copy from tmux to system +bind C-v run-shell "tmux show-buffer | xclip -sel clip -i > /dev/null" |
