diff --git a/Makefile b/Makefile index 675a1c6..c1b367e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: zsh +.PHONY: zsh update-zsh tmux update-tmux zsh: @for file in zsh/.[!.]*; do \ @@ -15,10 +15,13 @@ update-zsh: done && echo "zsh files updated from home directory" || echo "zsh files not updated from home directory" tmux: - @for file in tmux/.[!.]*; do \ - file=$${file#tmux/}; \ - [ -f "$$HOME/$$file" ] && mv "$$HOME/$$file" "$$HOME/$$file.bak"; \ - done && cp -r tmux/.[!.]* ~/ && echo "tmux files copied to home directory" || echo "tmux files not copied to home directory" + @if [ -f "$$HOME/.tmux.conf" ]; then \ + mv "$$HOME/.tmux.conf" "$$HOME/.tmux.conf.bak"; \ + cp tmux/.tmux.conf "$$HOME/.tmux.conf"; \ + echo ".tmux.conf copied to home directory"; \ + else \ + echo ".tmux.conf not found in home directory"; \ + fi update-tmux: @if [ -f "$$HOME/.tmux.conf" ]; then \ diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 8be72f0..6d201bb 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -1,9 +1,77 @@ -set -g @plugin 'tmux-plugins/tpm' -set -g @plugin 'tmux-plugins/tmux-sensible' +set-option -sa terminal-overrides ",xterm*:Tc" +set -g mouse on +unbind C-b +set -g prefix C-Space +bind C-Space send-prefix + +# Vim style pane selection +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Start windows and panes at 1, not 0 +set -g base-index 1 +set -g pane-base-index 1 +set-window-option -g pane-base-index 1 +set-option -g renumber-windows on + +# Use Alt-arrow keys without prefix key to switch panes +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + +# Shift arrow to switch windows +bind -n S-Left previous-window +bind -n S-Right next-window + +# Shift Alt vim keys to switch windows +bind -n M-H previous-window +bind -n M-L next-window + +# --- Plugins --- +set -g @plugin 'tmux-plugins/tpm': +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'christoomey/vim-tmux-navigator' +set -g @plugin 'tmux-plugins/tmux-yank' +set -g @plugin 'tmux-plugins/tmux-resurrect' +set -g @plugin 'tmux-plugins/tmux-continuum' +set -s default-terminal 'tmux-256color' run ~/git-repos/dracula-tmux/dracula.tmux -set -g @dracula-plugins "git" +set -g @dracula-time "Europe/Belfast,America/New_York" +set -g @dracula-time-military false +set -g @dracula-show-empty-plugins false +set -g @dracula-show-powerline true +set -g @dracula-fixed-location "Antrim" +set -g @dracula-show-flags true +set -g @dracula-show-left-icon session +set -g @dracula-show-fahrenheit false +set -g @dracula-show-edge-icons false +set -g @dracula-refresh-rate 5 +set -g @dracula-show-left-icon "#H | #S " +set -g @dracula-git-disable-status true +set -g @dracula-git-show-repo-name true +set -g @dracula-show-ssh-only-when-connected true +set -g @dracula-plugins "git weather battery time ssh-session" + +set -g status-position top + +# set vi-mode +set-window-option -g mode-keys vi +# keybindings +bind-key -T copy-mode-vi v send-keys -X begin-selection +bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle +bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel + +bind n display-popup -E 'bash -i -c "read -p \"Session name: \" name; tmux new-session -d -s \$name && tmux switch-client -t \$name"' +bind j display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t" + +bind '"' split-window -v -c "#{pane_current_path}" +bind % split-window -h -c "#{pane_current_path}" + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' - diff --git a/tmux/.tmux/plugins/tpm b/tmux/.tmux/plugins/tpm deleted file mode 160000 index 99469c4..0000000 --- a/tmux/.tmux/plugins/tpm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 diff --git a/tmux/.tmux/tpm b/tmux/.tmux/tpm deleted file mode 160000 index 99469c4..0000000 --- a/tmux/.tmux/tpm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946