init
This commit is contained in:
57
tmux/conf/binds.conf
Normal file
57
tmux/conf/binds.conf
Normal file
@@ -0,0 +1,57 @@
|
||||
# Set new prefix (Alt+Space)
|
||||
unbind C-b
|
||||
set -g prefix M-Space
|
||||
bind Space send-prefix
|
||||
|
||||
# Config reload
|
||||
bind C-r source-file ~/.config/tmux/tmux.conf \; display-message "tmux.conf reloaded"
|
||||
|
||||
# Vim mode
|
||||
setw -g mode-keys vi
|
||||
set -g status-keys vi
|
||||
|
||||
bind 'v' copy-mode
|
||||
bind -T copy-mode-vi v send -X begin-selection
|
||||
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
|
||||
bind p paste-buffer
|
||||
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
|
||||
|
||||
# Split windows
|
||||
bind | split-window -hc "#{pane_current_path}"
|
||||
bind-key "\\" split-window -fh -c "#{pane_current_path}"
|
||||
bind - split-window -vc "#{pane_current_path}"
|
||||
|
||||
# Maintain the same path when creating a new window
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
bind-key C command-prompt -p "Enter window name:" "new-window -n '%%'"
|
||||
|
||||
# Move to the next and prev window
|
||||
bind-key l next-window
|
||||
bind-key h previous-window
|
||||
|
||||
bind-key -n C-M-l next-window
|
||||
bind-key -n C-M-h previous-window
|
||||
|
||||
# Change window name
|
||||
bind-key r command-prompt -I "#W" "rename-window '%%'"
|
||||
bind-key R command-prompt -I "#W" "rename-session '%%'"
|
||||
|
||||
# Move to the next and prev session
|
||||
bind j switch-client -n
|
||||
bind k switch-client -p
|
||||
|
||||
# Close a window
|
||||
bind-key Q kill-window
|
||||
|
||||
# Close a pane
|
||||
bind-key q kill-pane
|
||||
|
||||
# Close a session
|
||||
bind-key M-q kill-session
|
||||
|
||||
# Swap windows
|
||||
bind -r "<" swap-window -d -t -1
|
||||
bind -r ">" swap-window -d -t +1
|
||||
|
||||
# Projects
|
||||
bind-key Enter popup -E -h 80% -w 80% "dev"
|
||||
31
tmux/conf/options.conf
Normal file
31
tmux/conf/options.conf
Normal file
@@ -0,0 +1,31 @@
|
||||
# Enable mouse
|
||||
set -g mouse on
|
||||
|
||||
# Theming and layout
|
||||
set -g default-terminal "${TERM}"
|
||||
set -g status-position top
|
||||
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'
|
||||
|
||||
# Windows and panes
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows 1
|
||||
setw -g aggressive-resize on
|
||||
|
||||
# Shell
|
||||
set-option -g default-shell $SHELL
|
||||
set-option -g default-command $SHELL
|
||||
|
||||
# Environment
|
||||
set-environment -g TMUX_DATA_DIR "${HOME}/.local/share/tmux"
|
||||
|
||||
# Ohers
|
||||
set -g history-limit 100000
|
||||
set-option -g lock-after-time 0
|
||||
set -s escape-time 0
|
||||
set -g set-titles on
|
||||
set -g allow-passthrough on
|
||||
set -ga update-environment TERM
|
||||
set -ga update-environment TERM_PROGRAM
|
||||
61
tmux/conf/plugins.conf
Normal file
61
tmux/conf/plugins.conf
Normal file
@@ -0,0 +1,61 @@
|
||||
# Plugins Declaration
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'catppuccin/tmux#v0.3.0'
|
||||
set -g @plugin 'omerxx/tmux-sessionx'
|
||||
set -g @plugin 'wfxr/tmux-fzf-url'
|
||||
set -g @plugin 'omerxx/tmux-floax'
|
||||
set -g @plugin 'mrjones2014/smart-splits.nvim'
|
||||
|
||||
# Plugin Options
|
||||
# Catppuccin
|
||||
set -g @catppuccin_directory_text "#{pane_current_path}"
|
||||
set -g @catppuccin_window_current_text "#{window_name}"
|
||||
set -g @catppuccin_window_default_text "#{window_name}"
|
||||
set -g @catppuccin_flavor 'macchiato'
|
||||
|
||||
set -g @catppuccin_window_left_separator "█"
|
||||
set -g @catppuccin_window_right_separator "█"
|
||||
set -g @catppuccin_window_number_position "right"
|
||||
set -g @catppuccin_window_middle_separator " █"
|
||||
set -g @catppuccin_window_default_fill "number"
|
||||
set -g @catppuccin_window_current_background "#{thm_gray}"
|
||||
|
||||
set -g @catppuccin_status_modules_right "directory user host"
|
||||
set -g @catppuccin_status_modules_left "session"
|
||||
set -g @catppuccin_status_left_separator "█"
|
||||
set -g @catppuccin_status_right_separator ""
|
||||
set -g @catppuccin_status_fill "all"
|
||||
set -g @catppuccin_status_connect_separator "yes"
|
||||
|
||||
# Sessionx
|
||||
set -g @sessionx-bind 'space'
|
||||
set -g @sessionx-filter-current 'true'
|
||||
set -g @sessionx-preview-location 'top'
|
||||
set -g @sessionx-preview-ratio '65%'
|
||||
set -g @sessionx-window-height '80%'
|
||||
set -g @sessionx-window-width '75%'
|
||||
set -g @sessionx-tmuxinator-mode 'on'
|
||||
set -g @sessionx-bind-window-mode 'alt-w'
|
||||
set -g @sessionx-bind-tree-mode 'alt-t'
|
||||
set -g @sessionx-bind-new-window 'alt-c'
|
||||
set -g @sessionx-bind-rename-session 'alt-r'
|
||||
set -g @sessionx-bind-kill-session 'alt-q'
|
||||
set -g @sessionx-bind-configuration-path 'alt-e'
|
||||
set -g @sessionx-bind-back 'alt-b'
|
||||
set -g @sessionx-ls-command 'eza -a --icons --group-directories-first --color always'
|
||||
set -g @sessionx-filtered-sessions 'scratch'
|
||||
|
||||
# fzf-url
|
||||
set -g @fzf-url-bind 'u'
|
||||
|
||||
# Floax
|
||||
set -g @floax-bind '-n M-p'
|
||||
set -g @floax-border-color 'white'
|
||||
set -g @floax-text-color 'white'
|
||||
|
||||
# smart-splits
|
||||
set -g @smart-splits_resize_left_key 'C-left'
|
||||
set -g @smart-splits_resize_down_key 'C-down'
|
||||
set -g @smart-splits_resize_up_key 'C-up'
|
||||
set -g @smart-splits_resize_right_key 'C-right'
|
||||
Reference in New Issue
Block a user