summaryrefslogtreecommitdiff
path: root/.tmux.conf
diff options
context:
space:
mode:
Diffstat (limited to '.tmux.conf')
-rw-r--r--.tmux.conf75
1 files changed, 75 insertions, 0 deletions
diff --git a/.tmux.conf b/.tmux.conf
new file mode 100644
index 0000000..995566c
--- /dev/null
+++ b/.tmux.conf
@@ -0,0 +1,75 @@
+# Unbinding
+unbind r
+unbind Space
+unbind C-d
+unbind C-a
+set-option -g set-clipboard on
+
+# Setting binds
+set -g prefix C-s
+bind r source-file ~/.tmux.conf
+bind-key Space switch-client -l
+bind-key ";" split-window -h -c "#{pane_current_path}"
+bind-key "'" split-window -v -c "#{pane_current_path}"
+bind-key g new-window -n lazygit -c "#{pane_current_path}" "lazygit"
+bind-key -n M-h select-window -t -1
+bind-key -n M-l select-window -t +1
+bind -N "⌘+l last-session (via sesh) " L run-shell "sesh last || tmux display-message -d 1000 'Oops, no last sessions found'"
+bind -N "⌘+l last-session (via sesh) " C-z run-shell "sesh last || tmux display-message -d 1000 'Oops, no last sessions found'"
+bind-key Left swap-window -t -1 \; select-window -t -1
+bind-key Right swap-window -t +1 \; select-window -t +1
+
+bind-key "K" run-shell "sesh connect \"$(
+ sesh list --icons --hide-duplicates | fzf-tmux -p 100%,100% --no-border \
+ --ansi \
+ --list-border \
+ --no-sort --prompt '⚡ ' \
+ --color 'list-border:6,input-border:3,preview-border:4,header-bg:-1,header-border:6' \
+ --input-border \
+ --header-border \
+ --bind 'btab:down,tab:up' \
+ --bind 'ctrl-b:abort' \
+ --bind 'ctrl-a:change-prompt(⚡ )+reload(sesh list --icons)' \
+ --bind 'ctrl-t:change-prompt( )+reload(sesh list -t --icons)' \
+ --bind 'ctrl-g:change-prompt(⚙️ )+reload(sesh list -c --icons)' \
+ --bind 'ctrl-x:change-prompt(📁 )+reload(sesh list -z --icons)' \
+ --bind 'ctrl-f:change-prompt(🔎 )+reload(fd -H -d 2 -t d -E .Trash . ~)' \
+ --bind 'ctrl-d:execute(tmux kill-session -t {2..})+change-prompt(⚡ )+reload(sesh list --icons)' \
+ --preview-window 'right:70%' \
+ --preview 'sesh preview {}' \
+)\""
+set -g detach-on-destroy off
+bind-key -n C-a last-window
+set -g mouse on
+set -gq allow-passthrough on
+set -g visual-activity off
+
+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
+set-option -g status-position top
+set -g escape-time 0
+set -g status-interval 3
+
+# Plugins
+set -g @plugin 'arcticicestudio/nord-tmux'
+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 @resurrect-save 'C-e'
+set -g @resurrect-restore 'C-r'
+
+run '~/.tmux/plugins/tpm/tpm'
+
+set -g status-left "#[fg=black,bold]#S "
+set -g status-right ""
+set -g window-status-format " #[fg=grey]#I:#W"
+set -g window-status-current-format " #[fg=red,bold]#I:#W"
+set-option -g status-style bg=default
+set -g window-status-separator ""
+set -g status-justify absolute-centre
+set -g message-style bg=default,fg=cyan,bold