-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
85 lines (69 loc) · 3.17 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
# Set new prefix as C-a
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
###########
# PLUGINS #
###########
# TPM
# To install TPM, run the following:
# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Install plugins using `C-a I`
set -g @plugin 'tmux-plugins/tpm'
# Add sensible defaults
set -g @plugin 'tmux-plugins/tmux-sensible'
# Allows copying to system clipboard
# In copy mode, press "y" to copy text to system clipboard
set -g @plugin 'tmux-plugins/tmux-yank'
# Sets up helpful bindings for controlling panes and windows
# * h, j, k, l (optionally C-h, etc): select panes
# * H, J, K, L: resize current pane
# * -, |: split current pane
# * _, \: split current pane full width
# * <, >: move current window position
set -g @plugin 'tmux-plugins/tmux-pain-control'
# Add indicator for when prefix is active
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @prefix_highlight_output_prefix "#[fg=brightcyan]#[bg=black]#[nobold]#[noitalics]#[nounderscore]#[bg=brightcyan]#[fg=black]"
set -g @prefix_highlight_output_suffix ""
set -g @prefix_highlight_show_copy_mode "on"
set -g @prefix_highlight_copy_mode_attr "fg=brightcyan,bg=black,bold"
# Add Nord theme
set -g @plugin 'arcticicestudio/nord-tmux'
set -g @nord_tmux_show_status_content "0"
###############
# END PLUGINS #
###############
# Status Line
set -g status-left "#[fg=black,bg=blue,bold] #S #[fg=blue,bg=black,nobold,noitalics,nounderscore]"
set -g status-left-length "20"
set -g status-right "#{prefix_highlight}#[fg=cyan,bg=black,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,nobold,noitalics,nounderscore] %m/%d #[fg=black,bg=cyan,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,nobold,noitalics,nounderscore] %l:%M %p "
set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan,bold]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan,bold]#W #[fg=cyan,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-separator ""
set -g allow-rename "off" # Prevent a manually named window from being renamed
# Copy Mode settings
setw -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'C-v' send -X rectangle-toggle
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# Bind Ctrl+K to clear buffer history
bind -n C-k clear-history
# Automatically keep gapless indexes for windows
set-option -g renumber-windows on
# Set $TERM to tmux-256
set -g default-terminal 'tmux-256color'
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
# Set next-window and previous-window
unbind n
unbind .
unbind p
unbind ,
bind . next-window
bind , previous-window
bind r command-prompt -I "#W" "rename-window -- '%%'"
# Keep this at the very bottom to run plugins
run '~/.tmux/plugins/tpm/tpm'