-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
executable file
·113 lines (89 loc) · 3.76 KB
/
tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Change the prefix to ctrl-a, as in Screen
unbind C-b #Changes default keys
set -g prefix C-a #to Ctrl+A, like GNU screen
bind C-a send-prefix
# General settings
set -g default-terminal "screen-256color"
setw -g xterm-keys on
set -ga terminal-overrides ',xterm*:smglr=\E7\E[?69h\E[%i%p1%d;%p2%ds\E8:mgc=\E7\E[?69l\E8'
set -s escape-time 10
set -sg repeat-time 100
set -s focus-events on
set -q -g status-utf8 on
# Splitting
unbind %
unbind '"'
bind h split-window -h -c "#{pane_current_path}"
bind v split-window -v -c "#{pane_current_path}"
unbind c
bind c new-window -c "#{pane_current_path}"
# Joining
bind j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind s command-prompt -p "send pane to:" "join-pane -t '%%'"
bind -n C-S-Up select-pane -U # These keybindings allow you to
bind -n C-S-Down select-pane -D # change the active pane with
bind -n C-S-Left select-pane -L # Ctrl-Shift-ArrowKey
bind -n C-S-Right select-pane -R
# window switching
unbind n
bind = next-window
bind - previous-window
bind -n C-p next-window
bind -n C-o previous-window
bind r command-prompt -p "Window Title:" "rename-window '%%'"
# Some key-binding changes
bind x kill-pane
bind X next-layout
bind Z previous-layout
# To make synchronization easier
bind e setw synchronize-panes on
bind E setw synchronize-panes off
# Collect all other panes into current pane
bind g run "tmux lsp -st #S -F '##{window_active}:##{pane_id}'| grep \^0 |sed 's/^.*://g' | xargs -I {} tmux joinp -t #P -s {} -l 2"
# Turn on mouse support (later versions of tmux only, I think
set -g mouse on
# Automatically set window title
setw -g automatic-rename on
set -g set-titles on
set -g set-titles-string '#h ❐ #S ● #I #W'
set -g status-keys vi
set -g history-limit 10000
setw -g mode-keys vi
set -g monitor-activity on
set -g visual-activity off
setw -g aggressive-resize on
set -g status-interval 10
set -g display-time 1000
# Set the status bar stuff
set -g status-left-length 1000
set -g status-right-length 1000
# Status bar styles
set -g status-style "fg=colour16,bg=colour7"
#set -g status-left-style "fg=#8a8a8a,bg=#fdf6e3"
#set -g status-right-style "fg=#8a8a8a,bg=#fdf6e3"
set -g status-justify centre
#
#
set -g status-left "#[bg=colour1]#<<>>#[fg=colour1,bg=colour2]#[fg=colour16,bg=colour2] #(free -h|head -n2|tail -n1|awk '{printf\"%3.1f-%3.1f=%3.1f\",$2,$3,$4}')#[fg=colour2,bg=colour3] #[fg=colour16,bg=colour3]#S:#I.#P#[default]#[fg=colour3,bg=colour7]"
set -g status-right "#[fg=colour3,bg=colour7]#[fg=colour16,bg=colour3]#(echo $USER')#[fg=colour1]@#[fg=colour5]#H #[fg=colour2,bg=colour3]#[fg=colour16,bg=colour2]#(uptime -p | awk '{print $2\" \"$3}'|sed 's/,//g') #[fg=colour1,bg=colour2]#[fg=colour16,bg=colour1]>><<"
# Some pane stuff
set -g display-panes-time 800
#### COLOR (Solarized light)
# default window title colors
set-window-option -g window-status-style "fg=#657b83,bg=#eee8d5,dim"
# active window title colors
set-window-option -g window-status-activity-style "fg=#073642,bg=#eee8d5,dim"
# pane border
set-option -g pane-border-style "fg=white"
set-option -g pane-active-border-style "fg=cyan"
# message text
set-option -g message-style "fg=brightred,bg=white"
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
# bell
#set-window-option -g window-status-bell-style fg=white,bg=red #base2, red
### OTHER
set-option -g set-clipboard off