-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf##work.WLinux
executable file
·114 lines (85 loc) · 3.86 KB
/
.tmux.conf##work.WLinux
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
###
# Custom tmux configuration cobbled together from google and trial & error
# by Eric Marden (xentek.net), heavily modified by David Rogers (@al-the-x),
# fine-tined to mimic personal screen configuration by Chris Olin (@AWildColin).
##
# set the command prefix to match gnu screen
set-option -g prefix F1
# use the NEW prefix key to "send-prefix" instead of the default
unbind-key C-b; bind-key F1 send-prefix
# bound to C-a by default
bind-key C-w last-window; bind-key w last-window
# to be more screen-friendly...
bind-key C-c new-window; bind-key c new-window
# statusbar background to black, foreground to white
set-option -g status-fg colour231
set-option -g status-bg black
# use the following to get a list of supported colors
#
# for i in {0..255} ; do
# printf "\x1b[38;5;${i}mcolour${i}\n"
# done
#
# then use colourxxx to use specific color
# make window list look like screen configuration
set-window-option -g window-status-current-format "#[bg=colour10,fg=colour9,bold](#[fg=colour69,bold]#I#F$ #W#[fg=colour9,bold])"
set-window-option -g window-status-format "#[fg=colour231]#I#F$ #W"
# update the statusbar every second (for clock)
set-option -g status-interval 1
# hostname is printed on the left, uptime and current load on the right
set-option -g status-left-length 80
set-option -g status-right-length 100
set-option -g status-left '#{?client_prefix,#[reverse]<Prefix>#[noreverse] ,} #[fg=colour9] [ #[fg=colour10] #(whoami)@#H #[fg=colour9] ]'
set-option -g status-right "#[fg=colour11]%I:%M:%S%P ET #[fg=colour69]%m.%d.%y" # time/date variables came from http://linux.die.net/man/3/strftime
# allow switching the currently focused pane by mouse click
# enabling this requires user to hold down SHIFT key to select text
# THESE SETTINGS APPEAR TO HAVE BEEN DEPRECATED!
#setw -g mode-mouse on
#set-option -g mouse-select-pane on
# send tmux clipboard to system clipboard
bind > run-shell "tmux show-buffer > /dev/clipboard" \; display-message "Copied tmux buffer to system clipboard"
bind-key < command-prompt -p 'save history to filename:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer'
#bind y run-shell "tmux show-buffer | xclip -sel clip -i" \; display-message "Copied tmux buffer to system clipboard"
# set the title of current window to something descriptive
set-option -g set-titles on
set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name, active(or not)
# if bell rings, trigger a visual bell in current window
set-option -g bell-action any
set-option -g visual-bell on
# unless I'm coding, I don't want zero-based indexing
set -g base-index 1
set -g pane-base-index 1
# resize smaller windows for bigger displays
setw -g aggressive-resize on
# confirm before killing a window or the server
bind-key k confirm kill-window
bind-key K confirm kill-server
# scrollback buffer
set -g history-limit 999999999
# make the key bindings work like VIM
set-option -g status-keys vi
set-window-option -g mode-keys vi
# fix the titles
set -g set-titles on
set -g set-titles-string "#I:#W"
# be notified when there is activity in one of your windows
set-window-option -g monitor-activity on
# don't rename windows automatically
set-window-option -g automatic-rename off
# reload changes in tmux, handy
bind-key r source-file ~/.tmux.conf
# make the split panes more mnemonic. split windows can be switched
# by using ctrl-arrow key direction
unbind-key '"'; unbind-key %
bind-key | split-window -h
bind-key _ split-window -v
# Needed for https://github.com/tmux-plugins/tpm
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
#set -g @plugin 'github_username/plugin_name'
#set -g @plugin 'git@github.com/user/plugin'
#set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'