-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path_tmux.conf
110 lines (92 loc) · 2.5 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
# ust zsh as default shell
set-option -g default-shell $SHELL
#set-option -g default-command "reattach-to-user-namespace -l $SHELL"
# use Ctrl-Space as prefix
set -g prefix C-space
# start numbering at 1 since it's easier to type
set -g base-index 1
# enable true-color support
set-option -sa terminal-overrides ",xterm-256color*:Tc"
# make current window more visible
set-window-option -g window-status-current-style fg=black,bg=white
# re-number windows when one is deleted
set-option -g renumber-windows on
# pimp my tmux !
set -g status-bg black
set -g status-fg white
# use vim move
setw -g mode-keys vi
# mouse select
set -g mouse on
# vim select & copy
bind-key -Tcopy-mode-vi v send -X begin-selection
bind-key -Tcopy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
bind-key -Tcopy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
# disable garbage characters when copying
set -g set-clipboard off
# zoom on Ctrl-Space
bind-key C-Space resize-pane -Z
# vim pane navigation (hjkl)
bind-key h select-pane -L
bind-key l select-pane -R
bind-key j select-pane -D
bind-key k select-pane -U
# close pane on 'q' without confirmation
bind-key q kill-pane
# open new pane/window in current directory with >= tmux 1.9
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
# set terminal window title from active window
set-option -g set-titles on
set-option -g set-titles-string "#W"
# selection :
#
# [ start
# v start (vim)
# ] paste
# disable status pane
#set -g status off
# - general
# ? : list all key bindings
#
# - windows
# c : create
# l : move to previously selected
# n : move to next
# p : move to previous
# , : rename current
# w : list all windows
# [0-9] : move to windows [0-9]
#
# - sessions
# s : select session
# $ : rename session
#
# TODO
# - vi mappings
# - panes
# % : split current window vertically
# : : split current window horizontally
# o : move to next pane
# q : show pane numbers
# { : move to pane left
# } : move to pane right
#
# - to test/experiment :
# & : kill current window
# d : detach client
# o : switch to next pane
# f : find window by name
#
# : : interactive prompt (to test manual mappings)
#
# change mapping, for example to remap
# -> | for vertical split
# -> - for horizontal split
#
# unmind %
# bind | split-window -h
# bind - split-window -v
#
#