-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
104 lines (83 loc) · 4.45 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
# Remap prefix from 'C-b' to 'C-a'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# start with window 1 (instead of 0)
set -g base-index 1
# start with pane 1
set -g pane-base-index 1
# Split panes using 'b' and 'v'
bind b split-window -h -c "#{pane_current_path}"
bind v split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %
# Reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf
# Switch panes using Alt-arrow without prefix
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
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
# Resize panes using Ctrl-Shift-arrow without prefix
bind -n M-S-Left resize-pane -L 2
bind -n M-S-Right resize-pane -R 2
bind -n M-S-Up resize-pane -U 2
bind -n M-S-Down resize-pane -D 2
# Change windows with Ctrl-Tab
bind -n C-Tab next-window
# Enable mouse control (clickable windows, panes, resizable panes)
set -g mouse on
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-no-clear pbcopy
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear pbcopy
# Window settings
set-option -g allow-rename off
set -g renumber-windows on
# Main plugins
set -g @plugin '[email protected]:tmux-plugins/tpm'
set -g @plugin '[email protected]:tmux-plugins/tmux-sensible'
# Misc plugins
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
# Resurrection
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Set the rose pine variant
set -g @plugin '[email protected]:rose-pine/tmux'
set -g @rose_pine_variant 'moon' # Options are 'main', 'moon' or 'dawn'
# Statusbar
set -g status-position bottom
set -g status-justify left
# Rose pine extras
set -g @rose_pine_host 'off' # Enables hostname in the status bar
set -g @rose_pine_date_time '%H:%M' # It accepts the date UNIX command format (man date for info)
set -g @rose_pine_user 'on' # Turn on the username component in the statusbar
set -g @rose_pine_directory 'on' # Turn on the current folder component in the status bar
set -g @rose_pine_bar_bg_disable 'off' # Disables background color, for transparent terminal emulators
set -g @rose_pine_bar_bg_disabled_color_option 'default'
set -g @rose_pine_only_windows 'off' # Leaves only the window module, for max focus and space
set -g @rose_pine_disable_active_window_menu 'on' # Disables the menu that shows the active window on the left
set -g @rose_pine_default_window_behavior 'off' # Forces tmux default window list behaviour
set -g @rose_pine_show_current_program 'on' # 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
# Example values for these can be:
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
# These are not padded
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
# Very beta and specific opt-in settings, tested on v3.2a, look at issue #10
# set -g @rose_pine_prioritize_windows 'on' # Disables the right side functionality in a certain window count / terminal width
# set -g @rose_pine_width_to_hide '80' # Specify a terminal width to toggle off most of the right side functionality
# set -g @rose_pine_window_count '5' # Specify a number of windows, if there are more than the number, do the same as width_to_hide
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'