tmux config organized
This commit is contained in:
parent
a3595e1634
commit
d9dc52133c
98
.tmux.conf
98
.tmux.conf
@ -1,73 +1,104 @@
|
|||||||
# prefix
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ Keybindings │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
# ──────────────────────────────── prefix ────────────────────────────────
|
||||||
unbind C-b
|
unbind C-b
|
||||||
set -g prefix C-Space
|
set -g prefix C-Space
|
||||||
|
|
||||||
# send prefix to nested session after ctrl a
|
# ────────────────── prefix ctrl+a for nested sessions ────────────────
|
||||||
bind-key -n C-a send-prefix
|
bind-key -n C-a send-prefix
|
||||||
|
|
||||||
# default shell
|
# ────────────────── default split shortcuts overwrite ────────────────
|
||||||
set-option -g default-shell /bin/zsh
|
|
||||||
|
|
||||||
#for copying to sys clipboard
|
|
||||||
|
|
||||||
bind | split-window -h -c "#{pane_current_path}"
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
unbind '"'
|
unbind '"'
|
||||||
unbind %
|
unbind %
|
||||||
|
|
||||||
|
# ─────────────────────────── selecting panes ─────────────────────────
|
||||||
bind -n M-Left select-pane -L
|
bind -n M-Left select-pane -L
|
||||||
bind -n M-Right select-pane -R
|
bind -n M-Right select-pane -R
|
||||||
bind -n M-Up select-pane -U
|
bind -n M-Up select-pane -U
|
||||||
bind -n M-Down select-pane -D
|
bind -n M-Down select-pane -D
|
||||||
|
|
||||||
|
# ───────────────── Shift Alt vim keys to switch windows ─────────────────
|
||||||
|
bind -n M-H previous-window
|
||||||
|
bind -n M-L next-window
|
||||||
|
|
||||||
|
# ─────────────────── trying to make home end working ─────────────────
|
||||||
|
bind-key -n Home send Escape "OH"
|
||||||
|
bind-key -n End send Escape "OF"
|
||||||
|
# unbind shift+<-/-> to switch tabs
|
||||||
|
unbind S-Left
|
||||||
|
unbind S-Right
|
||||||
|
|
||||||
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ general settings │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
# ──────────────────────────── default shell ──────────────────────────
|
||||||
|
set-option -g default-shell /bin/zsh
|
||||||
|
|
||||||
|
# ───────────────────────────── enable mouse ─────────────────────────────
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
|
||||||
|
# ──────────────────────────── enable vi mode ────────────────────────────
|
||||||
set-window-option -g mode-keys vi
|
set-window-option -g mode-keys vi
|
||||||
|
|
||||||
|
# ────────────────── enable autorename to current path ────────────────
|
||||||
set-option -g automatic-rename on
|
set-option -g automatic-rename on
|
||||||
set-option -g automatic-rename-format '#{b:pane_current_path}'
|
set-option -g automatic-rename-format '#{b:pane_current_path}'
|
||||||
|
|
||||||
|
# ──────────────────────── some terminal options ──────────────────────
|
||||||
set -g default-terminal "xterm-256color"
|
set -g default-terminal "xterm-256color"
|
||||||
set -ga terminal-overrides ",xterm-256color:Tc"
|
set -ga terminal-overrides ",xterm-256color:Tc"
|
||||||
|
|
||||||
# List of plugins
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
||||||
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-copycat'
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-open'
|
|
||||||
|
|
||||||
set -g default-terminal "screen-256color"
|
set -g default-terminal "screen-256color"
|
||||||
bind-key -n Home send Escape "OH"
|
|
||||||
bind-key -n End send Escape "OF"
|
|
||||||
|
|
||||||
# copying
|
# ─────────────────────────────── copying ─────────────────────────────
|
||||||
set -g set-clipboard on
|
set -g set-clipboard on
|
||||||
set -g @override_copy_command 'xclip -i -selection clipboard'
|
set -g @override_copy_command 'xclip -i -selection clipboard'
|
||||||
set -g @yank_selection 'clipboard'
|
set -g @yank_selection 'clipboard'
|
||||||
set -as terminal-features ',*:clipboard'
|
set -as terminal-features ',*:clipboard'
|
||||||
|
|
||||||
# Start windows and panes at 1, not 0
|
# ───────────────── Start windows and panes at 1, not 0 ───────────────
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
set -g pane-base-index 1
|
set -g pane-base-index 1
|
||||||
set-window-option -g pane-base-index 1
|
set-window-option -g pane-base-index 1
|
||||||
set-option -g renumber-windows on
|
set-option -g renumber-windows on
|
||||||
|
|
||||||
# Shift Alt vim keys to switch windows
|
|
||||||
bind -n M-H previous-window
|
|
||||||
bind -n M-L next-window
|
|
||||||
|
|
||||||
# vim tmux navigator
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ Plugins │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
# ───────────────────────── tmux plugin manager ───────────────────────
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
|
||||||
|
# ── some default options https://github.com/tmux-plugins/tmux-sensible ──
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
|
||||||
|
# ─────────────────────────── better tmux yank ───────────────────────────
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||||
|
|
||||||
|
# ───────── some cool search shortcuts like <prefix>+ctrl+u etc ───────
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||||
|
|
||||||
|
# ───────────── shortcut for xdg-open file/url under cursor ───────────
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-open'
|
||||||
|
|
||||||
|
# ────────────────────────── vim tmux navigator ──────────────────────────
|
||||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||||
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-resurrect' # persistant tmux sessions
|
# ─────────────────────── tmux sessions managment ─────────────────────
|
||||||
set -g @plugin 'tmux-plugins/tmux-continuum' # auto-save sessions
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||||
|
set -g @resurrect-capture-pane-contents 'on' # save pane contents
|
||||||
|
set -g @resurrect-strategy-nvim 'session' # resurrect nvim sessions
|
||||||
|
|
||||||
set -g @resurrect-capture-pane-contents 'on'
|
# ───────────────── automatically save/restore sessions ───────────────
|
||||||
set -g @continuum-restore 'on'
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||||
|
set -g @continuum-restore 'on' # enabling
|
||||||
|
|
||||||
# Dracula theme
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ Dracula theme │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
|
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
|
||||||
set -g @plugin 'dracula/tmux'
|
set -g @plugin 'dracula/tmux'
|
||||||
set -g @dracula-show-powerline true
|
set -g @dracula-show-powerline true
|
||||||
@ -87,11 +118,8 @@ set -g @dracula-show-left-sep \uE0C0
|
|||||||
# for right symbol (can set any symbol you like as separator)
|
# for right symbol (can set any symbol you like as separator)
|
||||||
set -g @dracula-show-right-sep \uE0B2
|
set -g @dracula-show-right-sep \uE0B2
|
||||||
|
|
||||||
# Shift arrow to switch windows
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
unbind S-Left
|
# │ run tmux plugin manager │
|
||||||
unbind S-Right
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run -b '~/.tmux/plugins/tpm/tpm'
|
run -b '~/.tmux/plugins/tpm/tpm'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user