dot

packages and services management
Log | Files | Refs | README

commit 09d6cd0fd2fa2710e6b87f3efb0bba720b0d04f0
parent 1b732b90333e2e5b4cfe14e3d01ed4c4fceef64f
Author: Josuah Demangeon <mail@josuah.net>
Date:   Thu, 20 Apr 2017 23:52:11 +0200

Added back .tmux.conf

Diffstat:
A.tmux.conf | 149+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 149 insertions(+), 0 deletions(-)

diff --git a/.tmux.conf b/.tmux.conf @@ -0,0 +1,149 @@ +# Simple yet complete tmux configuration file 2016-12-13 +# _ +# |_ __ ., _ _ __ /_ +# | ||| |_| /\ . (_ (_) | | | +# +#_______________________________________________________________________________ + + +# Editing mode + +set -g status-keys vi + + +# Leader + +set -g prefix C-Space +unbind C-b +bind C-Space send-key C-Space + + +# Keybindings +#_______________________________________________________________________________ + + +# Copy mode + +bind -t vi-copy v begin-selection +bind -t vi-copy C-v rectangle-toggle +bind -t vi-copy y copy-pipe 'xclip -i' +bind -n PPage if -F '#{alternate_on}' 'send PPage' 'copy -e; send PPage' + + +# Pane management + +bind -r k select-pane -U +bind -r j select-pane -D +bind -r h select-pane -L +bind -r l select-pane -R +bind -r o select-pane -t :.+ +bind -r C-k resize-pane -U 1 +bind -r C-j resize-pane -D 1 +bind -r C-h resize-pane -L 1 +bind -r C-l resize-pane -R 1 +bind % split -h -c '#{pane_current_path}' +bind '"' split -v -c '#{pane_current_path}' + + +# Window management + +bind -r < swap-window -t - +bind -r > swap-window -t + +bind -r p previous-window +bind -r n next-window +bind -r Tab last-window +bind -r c new-window -c '#{pane_current_path}' +bind -r C new-window + + +# Global tmux state + +bind -n C-z detach +bind r source ~/.config/tmux/conf\; display "Config loaded" + + +# Hooks +#_______________________________________________________________________________ + + +# Refresh status line +set-hook -g after-select-pane 'refresh-client -S' +set-hook -g after-select-window 'refresh-client -S' +set-hook -g after-select-window 'refresh-client -S' +set-hook -g after-next-window 'refresh-client -S' +set-hook -g after-previous-window 'refresh-client -S' +set-hook -g after-choose-tree 'refresh-client -S' +set-hook -g after-switch-client 'refresh-client -S' +set-hook -g after-delete-buffer 'refresh-client -S' + + +# Options +#_______________________________________________________________________________ + +set -g base-index 1 +set -g pane-base-index 1 +set -g renumber-windows on +set -g display-time 2000 +set -g repeat-time 500 +set -g detach-on-destroy off + + +# Global appearance + +# Messages +set -g message-style bold,fg=red +set -g message-command-style bold,fg=white + +# Display-panes mode +set -g display-panes-colour white +set -g display-panes-active-colour red + +# Clock mode +set -g clock-mode-colour white +set -g clock-mode-style 24 + +# Menus +set -g mode-style bg=white,fg=black + + +# Status + +set -g status-interval 5 + +# Global +set -g status-position top +set -g status-justify left +set -g status-style bg=black,fg=white + +# Left +set -g status-left-length 30 +set -g status-left-style fg=white +set -g status-left "#[fg=black,bg=white] #S #[default] " + +# Right +set -g status-right-length 100 +set -g status-right-style fg=white +set -g status-right "#(status)" + +set -g window-status-separator " " + +# Background windows +set -g window-status-style bold,fg=black +set -g window-status-format " #I #W " + +# Foreground windows +set -g window-status-current-style bold,fg=white +set -g window-status-current-format " #I #W " + +# Urgent windows +set -g window-status-bell-style fg=white,bg=red +set -g window-status-activity-style fg=white,bg=yellow + + +# Borders + +set -g pane-border-style bold,fg=white +set -g pane-active-border-style bold,fg=white +set -g pane-border-status top +set -g pane-border-format \ + "#{?pane_active,#[fg=white],#[fg=black]} #{pane_current_command} "