/ dot_config / tmux / tmux.conf
tmux.conf
 1  set-option -g prefix C-space
 2  set-window-option -g mode-keys vi
 3  
 4  #set-window-option -g mode-bg black
 5  #set-option -g pane-active-border-fg green
 6  set-window-option -g xterm-keys on # for vim
 7  set-window-option -g mode-keys vi # vi key
 8  set-window-option -g monitor-activity on
 9  #set-window-option -g window-status-current-fg white
10  #set-window-option -g window-status-current-attr reverse
11  set-window-option -g automatic-rename
12  set-option -g mouse on
13  set-option -g history-limit 30000
14  set-option -g buffer-limit 5000
15  
16  set-option -g status-justify right
17  set-option -g status-bg black # colour213 # pink
18  set-option -g status-fg cyan
19  set-option -g status-interval 5
20  set-option -g status-left-length 30
21  set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]'
22  set-option -g status-right '#[fg=red,bold][[ #(git branch) branch ]] #[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]'
23  set-option -g visual-activity on
24  set-option -g set-titles on
25  set-option -g set-titles-string '#H:#S.#I.#P #W #T'
26  unbind j
27  unbind C-b # unbind default leader key
28  unbind '"' # unbind horizontal split
29  unbind %   # unbind vertical split
30  bind-key r source-file ~/.tmux.conf
31  
32  bind v split-window -h -c "#{pane_current_path}"
33  bind c split-window -v -c "#{pane_current_path}"
34  
35  bind-key Space list-panes
36  bind-key Enter break-pane
37  bind-key Space command-prompt "joinp -t:%%" # %% = prompt for window.pane [-V|H] # vert|hor split
38  bind-key -n C-up prev
39  bind-key -n C-left prev
40  bind-key -n C-right next
41  bind-key -n C-down next
42  #set-window-option -g window-status-current-bg red
43  bind C-j previous-window
44  bind C-k next-window
45  #bind-key C-a last-window # C-a C-a for last active window
46  bind A command-prompt "rename-window %%"
47  set-window-option -g aggressive-resize on
48  bind-key h select-pane -L
49  bind-key j select-pane -D
50  bind-key k select-pane -U
51  bind-key l select-pane -R
52  bind-key -r C-h resize-pane -L
53  bind-key -r C-j resize-pane -D
54  bind-key -r C-k resize-pane -U
55  bind-key -r C-l resize-pane -R
56  bind o select-layout "active-only"
57  bind M-- select-layout "even-vertical"
58  bind | select-layout "even-horizontal"
59  bind M-r rotate-window
60  
61  bind C-space copy-mode
62  bind P paste-buffer
63  
64  
65  # For tmux >= 2.4
66  bind-key -T copy-mode-vi v send-keys -X begin-selection
67  bind-key -T copy-mode-vi y send-keys -X copy-selection
68  bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
69  
70  # For tmux >= 2.4
71  #bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -sel clip -i'
72  bind-key -T copy-mode-vi y send-keys -X copy-pipe 'xclip -sel clip -i'
73  
74  
75  ####################################
76  ############ Fixes #################
77  ####################################
78  
79  # For neovim
80  set-option -sg escape-time 10 # Fixes <esc> taking a second
81  set-option -g focus-events on
82  
83  # For st
84  set-option -g default-terminal "screen-256color"
85  set-option -sa terminal-features ',st-256color:RGB'
86  
87  # Login shell
88  set-option -g default-command "${SHELL}"