-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
130 lines (102 loc) · 5.87 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
unbind C-a
set-option -g prefix C-b
bind-key C-b send-prefix
#set -g status-style bg=default
set -g set-clipboard external
# set -g default-terminal "xterm-256color"
set -g default-terminal "alacritty"
# set -g default-terminal "xterm-kitty"
# set -g default-terminal "screen-256color"
# tell Tmux that outside terminal supports true color
# set -ga terminal-overrides ",*256col*:Tc"
set -sg repeat-time 300 # ncrease repeat timeout
set -g focus-events on
set -g display-panes-time 800 # slightly longer pane indicators display time
set -g display-time 1000 # slightly longer status messages display time
set -g base-index 1 # start windows numbering at 1
set -g pane-base-index 1 # make pane numbering consistent with windows
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
set -g status-interval 1
set -g automatic-rename on
set -g automatic-rename-format "#{?#{==:#{pane_current_command},bash},#{b:pane_current_path},#{pane_current_command}}"
set -g renumber-windows on # renumber windows when a window is closed
set -g mouse on
set -s escape-time 0
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-selection-and-cancel
bind-key -T copy-mode-vi 'u' send -X halfpage-up
bind-key -T copy-mode-vi 'd' send -X halfpage-down
bind-key | split-window -h
bind-key - split-window -v
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r H resize-pane -L 5
bind-key -r L resize-pane -R 5
bind-key A source-file ~/.tmux.conf
bind O select-pane -t :.-
bind-key C-l switch-client -l
# tmux.conf
# set default directory for new windows in this session to current directory:
bind M-c attach-session -c "#{pane_current_path}"
# undercurl support
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
# underscore colours - needs tmux-3.0
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
bind-key g display-popup 'model=$(ollama ls | tail -n+2 | cut -f1 | fzf); ollama run $model'
#-------------------------------------------------------#
# Pane colours
#-------------------------------------------------------#
# set active-inactive window styles
# set -g window-style 'fg=colour247,bg=colour240'
# set -g window-active-style 'fg=default,bg=colour234'
# Pane border
# set -g pane-border-style "bg=default fg=colour238"
# Active pane border
# set -g pane-active-border-style "bg=default fg=blue"
# ======================== PLUGINS ======================== #
set -g @plugin 'roosta/tmux-fuzzback'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-save 'A'
set -g @resurrect-restore 'R'
set -g @plugin 'CrispyConductor/tmux-copy-toolkit'
set -g @plugin 'dsych/tmux-copy-toolkit'
set -g @plugin 'rose-pine/tmux'
set -g @rose_pine_variant 'moon' # Options are 'main', 'moon' or 'dawn'
set -g @rose_pine_host 'off' # Enables hostname in the status bar
set -g @rose_pine_date_time '%F %H:%M (%Z)' # It accepts the date UNIX command format (man date for info)
set -g @rose_pine_user 'off' # Turn on the username component in the statusbar
set -g @rose_pine_directory 'off' # 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
# If @rose_pine_bar_bg_disable is set to 'on', uses the provided value to set the background color
# It can be any of the on tmux (named colors, 256-color set, `default` or hex colors)
# See more on http://man.openbsd.org/OpenBSD-current/man1/tmux.1#STYLES
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 'on' # 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
# Previously set -g @rose_pine_window_tabs_enabled
# 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
set -g @plugin 'omerxx/tmux-floax'
set -g @floax-bind 'g'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'