Skip to content

Instantly share code, notes, and snippets.

@bartlomiejdanek
Last active February 12, 2024 18:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bartlomiejdanek/3592dffe00521c86b4b89eb5df46152c to your computer and use it in GitHub Desktop.
Save bartlomiejdanek/3592dffe00521c86b4b89eb5df46152c to your computer and use it in GitHub Desktop.
# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf
# set-option -g status-style bg=black,fg=cyan# bg=base02, fg=yellow
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-jontinuum'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'omerxx/tmux-sessionx'
set -g @catppuccin_status_modules_left "session application"
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "date_time"
set -g @catppuccin_date_time_text "%H:%M:%S"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
set-option -g status-position bottom
set -g status-bg black
set -g status-fg cyan
# move status bar to the top
# set-option -g status-position top
# set window split
bind-key v split-window -h
bind-key b split-window
# set-window-option -g window-status-style fg=magenta,bright
# set-option -g status-bg default
# set-option -g status-style default
# active window title colors
# set-window-option -g window-status-current-style fg=green,bright
# pane border
# set-option -g pane-border-style fg=blue
# set-option -g pane-active-border-style fg=blue
# message text
# set-option -g message-style 'fg=magenta,bright bold'
# pane number display
# set-option -g display-panes-active-colour magenta
# set-option -g display-panes-colour green
# clock
# set-window-option -g clock-mode-colour magenta
# set -g status-interval 1
# set -g status-justify centre
# set -g status-left-length 20
# set -g status-right-length 140
# set -g status-left '#[fg=blue]#(whoami) #[fg=magenta]• #[default]'
# set -g status-right '#[fg=magenta] • #[fg=blue]%R#[default]'
# C-b is not acceptable -- Vim uses it
set-option -g prefix C-space
bind-key C-space last-window
# Start numbering at 1
set -g base-index 1
set -g renumber-windows on
# Allows for faster key repetition
set -s escape-time 0
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size of any
# client connected to *that window*. Much more reasonable.
setw -g aggressive-resize on
# Allows us to use C-a a <command> to send commands to a TMUX session inside
# another TMUX session
bind-key a send-prefix
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
# hjkl pane traversal
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
# reload config
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# auto window rename
set-option -g allow-rename on
# Vi copypaste mode
set-window-option -g mode-keys vi
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy'
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe 'reattach-to-user-namespace pbcopy' \; send -X clear-selection
if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel'
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection'
# fix pane_current_path on new window and splits
if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind c; bind c new-window -c "#{pane_current_path}"'
if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'"
if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind v; bind v split-window -h -c "#{pane_current_path}"'
if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind \%; bind b split-window -c "#{pane_current_path}"'
set-option -g mouse on
set-option -s set-clipboard on
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -se c -i"
set-option -g history-limit 1000000
set-option -g set-titles on
set-option -g set-titles-string "#S / #W"
set-window-option -g automatic-rename on # auto name
setw -g automatic-rename
# set -g default-terminal "screen-256color"
# set -g default-terminal "tmux-256color"
# set -ag terminal-overrides ',*:Tc,'
# set -ga terminal-overrides ",xterm-256color:Tc"
bind c new-window -c "#{pane_current_path}"
bind-key > swap-pane -t '{right-of}'
bind-key < swap-pane -t '{left-of}'
set -g @yank_with_mouse on # or 'on'
# Toggle mouse on
bind-key M \
set-option -g mouse on \;\
display-message 'Mouse: ON'
# Toggle mouse off
bind-key m \
set-option -g mouse off \;\
display-message 'Mouse: OFF'
bind -n MouseDown2Pane run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
bind -n MouseUp2Pane run "tmux display \"Pasted from selection clipboard\""
bind-key -n MouseDragEnd1Pane run-shell -b "tmux send-keys M-w ;tmux show-buffer|xclip -i; tmux display \"Coppied to selection Clipboard\""
set-option -g pane-border-style fg=blue
set-option -g pane-active-border-style fg=magenta
run '~/.tmux/plugins/tpm/tpm'
return {
options = {
relativenumber = true,
list = false,
listchars = {
tab = "| ",
trail = "+",
extends = ">",
precedes = "<",
space = "·",
nbsp = "␣",
eol = "↲",
},
},
plugins = {
alpha = {
disable_dashboard_header = true,
},
spectre = {
enable = true,
},
flatten = {
enable = true,
},
toggleterm = {
enable = true,
},
harpoon = {
enable = true,
},
gopher = {
enable = false,
},
trouble = {
enable = true,
},
},
}
term xterm-kitty
shell_integration no-cursor
# include tokyonight_moon.conf
# include dracula.conf
include catppuccin-kitty/themes/macchiato.conf
font_family FiraCode
bold_font FiraCode Regular
italic_font FiraCode Regular
bold_italic_font FiraCode Regular
# font_family HackNerdFont
# bold_font HackNerdFont Regular
# italic_font HackNerdFont Regular
# bold_italic_font HackNerdFont Regular
font_size 15
enable_audio_bell no
map ctrl+shift+f5 load_config_file
window_padding_width 6
tab_bar_style powerline
tab_powerline_style slanted
tab_title_template "{index} {title}"
active_tab_background #ff4050
active_tab_font_style normal
enabled_layouts splits:split_axis=horizontal
map ctrl+shift+i launch --cwd=current --location=hsplit
map ctrl+shift+o launch --cwd=current --location=vsplit
map ctrl+shift+} next_window
map ctrl+shift+] previous_window
map ctrl+shift+l scroll_line_up
map ctrl+shift+k scroll_line_down
map ctrl+shift+] next_tab
map ctrl+shift+[ previous_tab
map ctrl+shift+enter new_tab_with_cwd
map ctrl+shift+t set_tab_title
# Vim -> Resize Right
map ctrl+alt+; send_text all VIMKBRESR
background_opacity 1.0
map ctrl+v paste_from_clipboard
# cursor_shape block
cursor_beam_thickness 1.5
cursor #FF6E6E
cursor_text_color #282A36
# cursor_blink_interval 0
cursor_blink_interval 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment