mirror of
https://github.com/aminnairi/dotfiles.git
synced 2026-09-14 14:32:13 +02:00
100 lines
3.6 KiB
Bash
100 lines
3.6 KiB
Bash
# Open in current director# Rebind Ctrl-b to Ctrl-a
|
|
unbind C-b
|
|
set-option -g prefix C-a
|
|
bind-key C-a send-prefix
|
|
|
|
# VI-mode
|
|
set-window-option -g mode-keys vi
|
|
set-window-option -g status-keys vi
|
|
|
|
# Enable Vi copy commands
|
|
bind-key -T copy-mode-vi 'v' send -X begin-selection
|
|
bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'xclip -selection clipboard'
|
|
|
|
# Vim keybinding for resizing panes
|
|
bind -r C-h resize-pane -L # Control-a Control-h
|
|
bind -r C-j resize-pane -D # Control-a Control-j
|
|
bind -r C-k resize-pane -U # Control-a Control-k
|
|
bind -r C-l resize-pane -R # Control-a Control-l
|
|
|
|
# Vim keybinding for switching between panes
|
|
bind h select-pane -l # Control-a h
|
|
bind j select-pane -D # Control-a j
|
|
bind k select-pane -U # Control-a k
|
|
bind l select-pane -R # Control-a l
|
|
|
|
# Bind Control-a + X to kill a session
|
|
bind X kill-session
|
|
|
|
# Bind Control-a + C to create a new session
|
|
bind C new-session
|
|
|
|
# split panes using | and -
|
|
bind | split-window -h
|
|
bind - split-window -v
|
|
unbind '"'
|
|
unbind %
|
|
|
|
# Disable completely the mouse
|
|
set -g mouse off
|
|
|
|
# Set the default terminal
|
|
set -s default-terminal 'tmux-256color'
|
|
|
|
# Set the correct terminal feature for better termguicolors in Neovim
|
|
set-option -sa terminal-features ',XXX:RGB'
|
|
|
|
# open/split window with current path
|
|
bind '"' split-window -c "#{pane_current_path}"
|
|
bind % split-window -h -c "#{pane_current_path}"
|
|
bind c new-window -c "#{pane_current_path}"
|
|
|
|
# Longer workspace names
|
|
set -g status-left-length 20
|
|
|
|
# Tokyonight theme
|
|
|
|
set -g mode-style "fg=#7aa2f7,bg=#3b4261"
|
|
|
|
set -g message-style "fg=#7aa2f7,bg=#3b4261"
|
|
set -g message-command-style "fg=#7aa2f7,bg=#3b4261"
|
|
|
|
set -g pane-border-style "fg=#3b4261"
|
|
set -g pane-active-border-style "fg=#7aa2f7"
|
|
|
|
set -g status "on"
|
|
set -g status-justify "left"
|
|
|
|
set -g status-style "fg=#7aa2f7,bg=#1f2335"
|
|
|
|
set -g status-left-length "100"
|
|
set -g status-right-length "100"
|
|
|
|
set -g status-left-style NONE
|
|
set -g status-right-style NONE
|
|
|
|
set -g status-left "#[fg=#1d202f,bg=#7aa2f7,bold] #S #[fg=#7aa2f7,bg=#1f2335,nobold,nounderscore,noitalics]"
|
|
set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d %I:%M %p #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1d202f,bg=#7aa2f7,bold] #h "
|
|
if-shell '[ "$(tmux show-option -gqv "clock-mode-style")" == "24" ]' {
|
|
set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d %H:%M #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1d202f,bg=#7aa2f7,bold] #h "
|
|
}
|
|
|
|
setw -g window-status-activity-style "underscore,fg=#a9b1d6,bg=#1f2335"
|
|
setw -g window-status-separator ""
|
|
setw -g window-status-style "NONE,fg=#a9b1d6,bg=#1f2335"
|
|
setw -g window-status-format "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[default] #I #W #F #[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]"
|
|
setw -g window-status-current-format "#[fg=#1f2335,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261,bold] #I #W #F #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]"
|
|
|
|
set -g @prefix_highlight_output_prefix "#[fg=#e0af68]#[bg=#1f2335]#[fg=#1f2335]#[bg=#e0af68]"
|
|
set -g @prefix_highlight_output_suffix ""
|
|
|
|
# Tmux sessionist plugin
|
|
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-sessionist'
|
|
|
|
|
|
if "test ! -d ~/.tmux/plugins/tpm" "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
|
|
|
run '~/.tmux/plugins/tpm/tpm'
|