-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.tmux.conf
124 lines (102 loc) · 5.29 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
# ████████╗███╗ ███╗██╗ ██╗██╗ ██╗
# ╚══██╔══╝████╗ ████║██║ ██║╚██╗██╔╝
# ██║ ██╔████╔██║██║ ██║ ╚███╔╝
# ██║ ██║╚██╔╝██║██║ ██║ ██╔██╗
# ██║ ██║ ╚═╝ ██║╚██████╔╝██╔╝ ██╗
# ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
# Terminal multiplexer
# https://github.com/tmux/tmux
################################################################################
## TPM
################################################################################
# bootstrap tpm if it is not already installed
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
# install plugins
set -g @plugin 'rose-pine/tmux'
set -g @plugin 'jaclu/tmux-power-zoom'
################################################################################
# Theme settings
################################################################################
set -g @rose_pine_variant 'moon'
set -g @rose_pine_user 'on' # Turn on the username component in the statusbar
set -g @rose_pine_host 'on' # Enables hostname in the status bar
set -g @rose_pine_date_time '%H:%M | %d.%m.%y' # It accepts the date UNIX command format (man date for info)
set -g @rose_pine_default_window_behavior 'on' # Forces tmux default window list behaviour
set -g @rose_pine_disable_active_window_menu 'on' # Forces tmux to show the current running program as window name
set -g @rose_pine_show_current_program 'off' # Forces tmux to show the current running program as window name
set -g @rose_pine_show_pane_directory 'on' # Forces tmux to show the current directory as window name
set -g @rose_pine_left_separator ' ' # The strings to use as separators are 1-space padded
set -g @rose_pine_right_separator ' ' # Accepts both normal chars & nerdfont icons
set -g @rose_pine_field_separator ' | ' # Again, 1-space padding, it updates with prefix + I
set -g @rose_pine_window_separator ' ' # Replaces the default `:` between the window number and name
set -g @rose_pine_session_icon '' # Changes the default icon to the left of the session name
set -g @rose_pine_current_window_icon '' # Changes the default icon to the left of the active window name
set -g @rose_pine_folder_icon '' # Changes the default icon to the left of the current directory folder
set -g @rose_pine_username_icon '' # Changes the default icon to the right of the hostname
set -g @rose_pine_hostname_icon '' # Changes the default icon to the right of the hostname
set -g @rose_pine_date_time_icon '' # Changes the default icon to the right of the date module
set -g @rose_pine_window_status_separator " " # Changes the default icon that appears between window names
################################################################################
# tmux-floax settings
################################################################################
unbind t
set -g @floax-bind 't'
set -g @floax-bind-menu 'T'
set -g @floax-width '80%'
set -g @floax-height '80%'
set -g @floax-change-path 'true'
################################################################################
# general settings
################################################################################
set-option -g default-terminal "screen-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"
set-option -g renumber-windows on
set-option -sg escape-time 10
set-option -g focus-events on
set -g set-titles on
set -g set-titles-string "#W/#T"
set -g mouse on # Enable mouse mode (tmux 2.1 and above)
set -g base-index 1 # Start windows and panes at 1, not 0
setw -g pane-base-index 1 # Start windows and panes at 1, not 0
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none
set -g status-position top
set -g status-justify left
set -gq allow-passthrough on
################################################################################
# Key bindings
################################################################################
# remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
# leader
bind-key C-a send-prefix
# split panes using _ and -
bind _ split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %
# jump to sessions home
bind h switch -t home
# jump to sessions userlike
bind u switch -t userlike
# unbind default marker key
unbind m
# create new window
bind C new
# sync input
bind-key y set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"
# enter copy mode
bind-key v copy-mode
# past
bind-key p paste-buffer
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf\; display-message "Reload config! 🔁"
################################################################################
# TPM load
################################################################################
run '~/.tmux/plugins/tpm/tpm' # always at end of file