-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.tmux.conf
132 lines (116 loc) · 4.91 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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
###############################################################################
################################### PREFIX ####################################
###############################################################################
unbind C-b
set -g prefix `
bind-key ` send-prefix
###############################################################################
################################## SETTINGS ###################################
###############################################################################
# General
setw -g xterm-keys on
set-option -g default-terminal "screen-256color"
set -g base-index 1
setw -g pane-base-index 1
setw -g clock-mode-style 24
set -g set-titles on
set -g set-titles-string '#S|#W'
set -g display-panes-time 800
set -g display-time 1000
set -g status-interval 60
set -g history-limit 5000
setw -g mode-keys vi
setw -g utf8 on
set -g status-utf8 on
set-option -sg escape-time 1
set-option -g status-position top
setw -g monitor-activity on
set -g visual-activity on
# Fix clipboard things in vim
set-option -g default-command "safe-reattach-to-user-namespace -l $SHELL"
# enable mouse
set-window-option -g mode-mouse on
set -g mode-mouse on
set-option -g mouse-select-pane on
set-option -g mouse-resize-pane on
set-option -g mouse-select-window on
# screen saver
set -g lock-after-time 600
set-option -g lock-command 'tput civis && read -s -n1'
###############################################################################
################################### BINDING ###################################
###############################################################################
# Convenience bindings
bind-key r source-file ~/.tmux.conf \; display-message "Configuration reloaded"
bind-key S new-session
bind e new-window -n '~/.tmux.conf' '${EDITOR:-vim} ~/.tmux.conf && tmux source ~/.tmux.conf && tmux display "~/.tmux.conf sourced"'
bind c new-window
# Kill panels without warning and sane keys
unbind x
unbind &
bind x kill-pane
bind W kill-window
# Pane split binds
unbind %
bind | split-window -h
bind - split-window -v
# Remap window navigation and resize to vim style
unbind-key j
bind-key j select-pane -D
unbind-key k
bind-key k select-pane -U
unbind-key h
bind-key h select-pane -L
unbind-key l
bind-key l select-pane -R
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r H resize-pane -L 5
bind-key -r L resize-pane -R 5
# Copy Mode
bind Escape copy-mode # enter copy mode
bind-key -t vi-copy v begin-selection # Begin selection in copy mode.
bind-key -t vi-copy C-v rectangle-toggle # Begin selection in copy mode.
bind-key -t vi-copy y copy-selection # Yank selection in copy mode.
bind b list-buffers # list paster buffers
bind B delete-buffer # delete last buffer
# bind p paste-buffer # paste from the top paste buffer
bind P choose-buffer # choose which buffer to paste from
# Mac OS X clipboard commands
bind C-c run "tmux save-buffer - | safe-reattach-to-user-namespace pbcopy"
bind C-v run "tmux set-buffer $(safe-reattach-to-user-namespace pbpaste); tmux paste-buffer"
###############################################################################
################################### DISPLAY ###################################
###############################################################################
# This tmux statusbar config was created by tmuxline.vim
# and tweaked by Stephen Tudor (http://stephentudor.com)
# on Fri, 28 Mar 2014
set -g status 'on'
set -g status-utf8 'on'
set -g status-attr 'none'
set -g status-justify 'left'
set -g status-left-length '100'
set -g status-right-length '100'
set -g status-left-attr 'none'
set -g status-right-attr 'none'
set -g status-bg 'black'
set -g message-command-bg 'yellow'
set -g message-command-fg 'black'
set -g message-bg 'yellow'
set -g message-fg 'black'
set -g pane-border-bg 'white'
set -g pane-border-fg 'colour250'
set -g pane-active-border-bg 'white'
set -g pane-active-border-fg 'yellow'
setw -g window-status-attr 'none'
setw -g window-status-bg 'black'
setw -g window-status-fg 'black'
setw -g window-status-separator ''
setw -g window-status-activity-attr 'none'
setw -g window-status-activity-bg 'magenta'
setw -g window-status-activity-fg 'brightwhite'
set -g status-left '#[fg=black,bg=brightwhite,bold] ❐ #S #[fg=brightwhite,bg=black,nobold,nounderscore,noitalics]'
set -g status-right '#[fg=brightgreen,bg=black,nobold,nounderscore,noitalics]#[fg=white,bg=brightgreen] %Y-%m-%d #[fg=brightblue,bg=brightgreen,nobold,nounderscore,noitalics]#[fg=brightwhite,bg=brightblue,nobold,nounderscore,noitalics] %H:%M #[fg=black,bg=brightwhite] #h '
setw -g window-status-format '#[fg=white,bg=black] #I : #W '
setw -g window-status-current-format '#[fg=black,bg=red,nobold,nounderscore,noitalics]#[fg=brightwhite,bg=red] #I #[fg=white,bg=red] #[fg=brightwhite,bg=red]#W #[fg=red,bg=black,nobold,nounderscore,noitalics]'
# powerline patched font special characters , , , , , , and