-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
134 lines (109 loc) · 4.21 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
## COMMAND AND KEY BINDINGS ##
# bind split window keys
unbind %
unbind '"'
bind v split-window -h
bind h split-window -v
bind k confirm kill-window
bind '~' setw synchronize-panes on \; display-message "> Panes Input Synchronization ON"
bind '^' setw synchronize-panes off \; display-message "> Panes Input Synchronization OFF"
# generic keybindings
bind -n C-\\ command-prompt
# Select pane, full size keyboard layout
# select panes with arrows
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Select pane, 60% mechanical keyboard layout
# select panes with arrows
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-k select-pane -U
bind -n M-j select-pane -D
# bind config reload shortcut
bind r source-file ~/.tmux.conf \; display-message "> TMUX configuration reloaded."
# copy-mode
bind -n M-c copy-mode
set-option -g status-keys vi
set-window-option -g xterm-keys on
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'pbcopy -pboard general'
bind -n M-v paste-buffer
# rebind clock
bind -n M-x clock-mode
# windows
bind -n C-n new-window
bind-key ? new-window "newsboat"
bind-key : new-window "glances"
bind-key . split-window -h -l 50% "ranger"
bind -n M-y split-window -h -l 35% "brew -v update && brew upgrade --greedy && brew cleanup --prune=all"
bind -n C-s set status
# pane/window cycling
bind -n M-a select-pane -t :.+
bind -n M-n next-window
bind -n M-p previous-window
# mouse wheel movement
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
## ENVIRONMENT AND BEHAVIOUR SETTINGS ##
# terminal settings
set -g default-terminal xterm-256color
# enable wm window titles
set -g set-titles on
set -g pane-base-index 1
set -g base-index 1
set -g allow-rename on
# enable mouse
set -g mouse on
# history limit
set -g history-limit 30000
# status line
set -g status-justify left
set -g status-position bottom
set -g status-interval 2
# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# The statusbar
set -g status-left-style fg=green,bold,bg=colour236,bold
set -g status-right-style fg=green,bold,bg=colour236,bold
set -g status-style fg=green,bold,bg=colour236,bold
set -g status-left-length 40
set -g status-right-length 100
set -g status-left "#{prefix_highlight} #(hostname) "
#setw -g window-status-format ' (#I: #W) '
#setw -g window-status-current-format ' *#I: #W '
set -g window-status-current-style "fg=#222222 bg=#ffcb6b"
set -g window-status-style "bg=#333333"
set -g window-status-format " #{?#{==:#{window_name},bash},#{b:pane_current_path},#W}#{?window_zoomed_flag,.Z,} "
set -g window-status-current-format " #{?#{==:#{window_name},bash},#{b:pane_current_path},#W}#{?window_zoomed_flag,.Z,} "
set -g window-status-separator " "
set -g pane-active-border-style "fg=#333333 bg=#222222"
set -g pane-border-style "fg=#333333 bg=#222222"
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'mcaimi/tmux-rtfm'
set -g @plugin 'mcaimi/tmux-filmroll'
# Prefix highlight
set -g @prefix_highlight_fg 'red' # default is 'colour231'
set -g @prefix_highlight_bg 'colour236' # default is 'colour04'
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_copy_mode_attr 'fg=yellow,bg=colour236' # default is 'fg=default,bg=yellow'
set -g @prefix_highlight_output_prefix ' '
set -g @prefix_highlight_output_suffix ''
set -g @rtfm_temp_file_name '/tmp/tmuxRTFM'
set -g @rtfm_open_in_split 'yes'
set -g @rtfm_clip_mode 'xclip'
set -g @filmroll_source_path '/Volumes/untitled/'
set -g @filmroll_destination_path '/Users/mcaimi/Pictures/SonyA7/'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'