-
Notifications
You must be signed in to change notification settings - Fork 43
/
.tmux.conf
93 lines (72 loc) · 3.07 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
# remap prefix to Control + a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# force a reload of the config file
bind-key R source-file ~/.tmux.conf \; display-message "tmux.conf reloaded."
# TODO: This shadows the default paste-buffer binding; should fix that.
bind-key ] send-prefix
bind-key C-] last-window
set -g default-terminal "xterm-256color"
set-option -g history-limit 20000
# use vi style keybindings
setw -g mode-keys vi
# xterm-style function key sequences
setw -g xterm-keys on
# Mouse support ----------------------------------------------------------
set -g mouse on
bind-key -T copy-mode-vi WheelUpPane send -X scroll-up
bind-key -T copy-mode-vi WheelDownPane send -X scroll-down
# # Vi copypaste
setw -g mode-keys vi
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" \; display-message "highlighted selection copied to system clipboard"
# Easy-to-remember split pane commands
bind \ split-window -h -c '#{pane_current_path}' # vertical pane
bind - split-window -v -c '#{pane_current_path}' # horizontal pane
unbind '"'
unbind %
# Task manager
set -g @tasks_manager 'taskwarrior'
# Colors
set -g @tasks_format_begin '#[fg=white,bg=colour236]'
set -g @tasks_format_end '#[fg=white,bg=colour236]'
# Icons
set -g @tasks_icon_urgent '⧗ '
set -g @tasks_icon_outstanding '+ '
# Status bar -------------------------------------------------------------
# set-option -g status on
set-option -g set-titles on
set -g status-interval 1
set-option -g update-environment "SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION DISPLAY"
set -g status-position bottom
set -g status-bg colour237
set -g status-fg colour137
set -g status-attr dim
set -g status-left '#[fg=colour197]#(~/bin/internet_info.sh) '
set -g status-right '#[fg=colour81]♪ #(~/bin/now_playing.sh) #(~/bin/battery.sh) #[fg=colour255,bg=colour241,bold] %a %m-%d #[fg=colour255,bg=colour241,bold] %H:%M:%S #[fg=colour165]#[bg=default] #H '
set -g status-right-length 100
set -g status-left-length 70
set-window-option -g aggressive-resize
setw -g window-status-current-fg colour170
setw -g window-status-current-bg colour239
setw -g window-status-current-attr bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour170]#F '
set-option -g set-titles-string 'do epic shit. | #S | / #W'
setw -g window-status-current-fg colour170
setw -g window-status-current-attr bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour170]#F '
# Plugins
# List of plugins
set -g @tpm_plugins ' \
tmux-plugins/tpm \
chriszarate/tmux-tasks \
soyuka/tmux-current-pane-hostname \
christoomey/vim-tmux-navigator \
'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'