-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
141 lines (114 loc) · 4.78 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
133
134
135
136
137
138
139
140
141
###############################################################################
#### Help ####
###############################################################################
# set-option [-aFgopqsuUw]
# (alias: set)
#
# -p => a pane
# -w => a window (set-window-option or setw)
# -s => a server
# otherwise a session option
# -g => the global session or window option
# -F => expands formats in the option value
# -u => unsets an option
# -U => unsets an option (like -u) but if the option is a pane option
# also unsets the option on any panes in the window
# -o => prevents setting an option that is already set
# -q => suppresses errors about unknown or ambiguous options
# -a => appended to the existing setting
###############################################################################
#### General options ####
###############################################################################
# the terminal outside supports RGB colour
set-option -sa terminal-overrides ",xterm*:Tc"
# changing the default prefix key
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
# reload config file
bind-key R source-file "~/.tmux.conf"
###############################################################################
#### Display options ####
###############################################################################
# start windows and panes at index 1 (not 0)
set-option -g base-index 1
set-option -g pane-base-index 1
# renumber windows when someone closes
set-option -g renumber-windows on
# make delay shorter
set-option -sg escape-time 0
# Resize problem fix
set-option -gw aggressive-resize on
# Redraw the client (if interrupted by wall, etc)
bind-key r refresh-client
# synchronize all panes in a window
bind-key q setw synchronize-panes
# Turn on window title
set-option -g set-titles on
# Show window number, program name and program activity in title
set-option -g set-titles-string '#S:#I.#P #W'
# Auto update title
set-option -gw automatic-rename on
###############################################################################
#### Navigation ####
###############################################################################
# Act like Xmonad
unbind-key c
bind-key Enter new-window
bind-key c confirm-before kill-window
# Splits
#unbind-key % # vertical split
bind-key s split-window -v # s to split horizontally
#unbind-key '"' # horizontally
bind-key v split-window -h # v for the vertical split
# Vim style pane selection
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# Pane resize (key may repeat)
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
# Windows
bind-key C-j previous-window
bind-key C-k next-window
###############################################################################
#### History ####
###############################################################################
# Extend history limit
set-option -g history-limit 20000
# Act like vim
set-option -g status-keys vi
set-option -gw mode-keys vi
# y and p as in vim
bind-key Escape copy-mode
unbind-key p
bind-key p paste-buffer
# extra commands for interacting with the ICCCM clipboard
bind-key C-c run "tmux save-buffer - | xclip -i -sel clipboard"
bind-key C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
###############################################################################
#### Mouse ####
###############################################################################
set-option -g mouse on
###############################################################################
#### Session ####
###############################################################################
# Create a new session with name 'Default'
new-session -s Default
# New pane by horizontal split (30%)
split-window -h -l 30%
# New pane by vertical split (30%; do not make it current pane) and exec htop
split-window -v -l 30% -d htop
# Make the 1-th pane active
select-pane -t 1
###############################################################################
#### Misc ####
###############################################################################
# Unbind-keybind arrow keys
unbind-key Up
unbind-key Down
unbind-key Left
unbind-key Right