diff options
| author | Tom Li Dobnik <tomlidobnik1@gmail.com> | 2025-08-09 17:12:43 +0200 |
|---|---|---|
| committer | Tom Li Dobnik <tomlidobnik1@gmail.com> | 2025-08-09 17:12:43 +0200 |
| commit | ea82cbb1c0b778dd946c717cceace53fab391ba8 (patch) | |
| tree | f0c84a86f48d61d918b6de9dc464c08370ab6a7c /.tmux.conf | |
init
Diffstat (limited to '.tmux.conf')
| -rw-r--r-- | .tmux.conf | 75 |
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 |
