]> git.frustrated-labs.net Git - dotfiles.git/commitdiff
add tmux configuration
authorAlexander Goussas <[email protected]>
Fri, 27 Dec 2024 01:51:55 +0000 (20:51 -0500)
committerAlexander Goussas <[email protected]>
Fri, 27 Dec 2024 01:51:55 +0000 (20:51 -0500)
Makefile.common
tmux/.tmux.conf [new file with mode: 0644]

index 5fbf587eccd9b8e07b1ad6176da64c1e7c40de0c..a572e94ebb97f56c73ad88fee6e4113ca3fff6f8 100644 (file)
@@ -1 +1 @@
-PKGS_COMMON := nvim zsh
+PKGS_COMMON := nvim zsh tmux
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
new file mode 100644 (file)
index 0000000..5e38c92
--- /dev/null
@@ -0,0 +1,94 @@
+# Initial setup
+set -g default-terminal xterm-256color
+set -g status-keys vi
+
+# use C-j and C-f for the prefix.
+set-option -g prefix C-a
+set-option -g prefix2 C-a
+unbind-key C-j
+bind-key C-a send-prefix
+set -g base-index 1
+
+# Use Alt-arrow keys without prefix key to switch panes
+bind -n M-h select-pane -L
+bind -n M-l select-pane -R
+bind -n M-k select-pane -U
+bind -n M-j select-pane -D
+
+# Set easier window split keys
+bind-key v split-window -h
+bind-key h split-window -v
+
+# Shift arrow to switch windows
+bind -n S-Left  previous-window
+bind -n S-Right next-window
+
+# Easily reorder windows with CTRL+SHIFT+Arrow
+bind-key -n C-S-Left swap-window -t -1
+bind-key -n C-S-Right swap-window -t +1
+
+# Synchronize panes
+bind-key y set-window-option synchronize-panes\; display-message "synchronize mode toggled."
+
+# Easy config reload
+bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded."
+
+# Easy clear history
+bind-key L clear-history
+
+# Key bindings for copy-paste
+setw -g mode-keys vi
+unbind p
+bind p paste-buffer
+bind-key -T copy-mode-vi 'v' send -X begin-selection
+bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
+
+# Mouse Mode
+set -g mouse on
+
+# Lengthen the amount of time status messages are displayed
+set-option -g display-time 3000
+set-option -g display-panes-time 3000
+
+# Set the base-index to 1 rather than 0
+set -g base-index 1
+set-window-option -g pane-base-index 1
+
+# Automatically set window title
+set-window-option -g automatic-rename on
+set-option -g set-titles on
+
+# Allow the arrow key to be used immediately after changing windows.
+set-option -g repeat-time 0
+
+# No delay for escape key press
+set -sg escape-time 0
+
+# Theme
+set-window-option -g window-status-current-style bold,bg=blue,fg=colour234
+set-window-option -g window-status-style fg=colour35
+set -g window-status-activity-style bold,bg=colour234,fg=white
+set-option -g message-style bg=colour237,fg=colour231
+set-option -g pane-border-style fg=colour36
+set-option -g pane-active-border-style fg=colour35
+
+# Change background color of a tab when activity occurs
+setw -g monitor-activity on
+
+# Do NOT reset the color of the tab after activity stops occuring
+setw -g monitor-silence 0
+
+# Disable bell
+setw -g monitor-bell off
+
+# Disable visual text box when activity occurs
+set -g visual-activity off
+
+# Status Bar
+set -g status-justify centre
+set -g status-bg black
+set -g status-fg colour35
+set -g status-interval 60
+set -g status-left-length 50
+set -g status-left "#[bg=colour35]💻#[fg=colour234,bold] #H#[bg=colour34]#[bg=colour35,nobold]#[fg=colour234] [#S] $tmux_target_lower"
+set -g status-right '#[bg=colour35] ðŸ•” #[fg=colour234,bold]%H:%M '