Skip to content

Instantly share code, notes, and snippets.

@zenny
Forked from CSaratakij/.tmux.conf
Created March 17, 2020 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zenny/8713b49315a0ee52f272815a39f23e8a to your computer and use it in GitHub Desktop.
Save zenny/8713b49315a0ee52f272815a39f23e8a to your computer and use it in GitHub Desktop.
Tmux's Config that's very close to i3wm (Setting with an idea of using tmux without x-server)
# Config that is very close to a i3 window manager's keybinding.
set -s escape-time 0
setw -g aggressive-resize on
# First remove *all* keybindings
unbind-key -a
# List keys
bind-key ? list-keys
# Copy mode
bind-key [ copy-mode
# Paste buffer
bind-key ] paste-buffer
# Refresh client
bind-key r refresh-client \; display-message "Refresh already"
# Start with index 1
set -g base-index 1
setw -g pane-base-index 1
# Set new prefix
# Note : you can press super key by set M.
# (tested with tty only)
set -g prefix M-Space
bind-key Space send-prefix
# Clock
setw -g clock-mode-style 24
# Config Reloads
bind R source-file ~/.tmux.conf \; display-message "Config reloaded"
# Mouse on/off
set -g mouse off
# Split window
bind-key h split-window -h
bind-key v split-window -v
# Rotate Window
bind-key -n M-o rotate-window
# Swap pane
bind-key -r L swap-pane -U
bind-key -r K swap-pane -D
# Move pane with Control (no prefix)
bind-key -n M-j select-pane -L
bind-key -n M-k select-pane -D
bind-key -n M-l select-pane -U
bind-key -n M-\; select-pane -R
# Resize pane with Alt (prefix with repeat)
bind-key -r j resize-pane -L 5 \; display-message "Resize left"
bind-key -r k resize-pane -D 5 \; display-message "Resize down"
bind-key -r l resize-pane -U 5 \; display-message "Resize up"
bind-key -r \; resize-pane -R 5 \; display-message "Resize right"
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
# Choose Window
bind-key w choose-window
# New Window with number
bind-key 1 new-window -t 1
bind-key 2 new-window -t 2
bind-key 3 new-window -t 3
bind-key 4 new-window -t 4
bind-key 5 new-window -t 5
bind-key 6 new-window -t 6
bind-key 7 new-window -t 7
bind-key 8 new-window -t 8
bind-key 9 new-window -t 9
bind-key 0 new-window -t 10
# Switch windows alt+number
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
bind-key -n M-0 select-window -t 10
# Change current pane to next window
bind-key ! join-pane -t :1
bind-key @ join-pane -t :2
bind-key '#' join-pane -t :3
bind-key '$' join-pane -t :4
bind-key '%' join-pane -t :5
bind-key '^' join-pane -t :6
bind-key '&' join-pane -t :7
bind-key '*' join-pane -t :8
bind-key '(' join-pane -t :9
bind-key ')' join-pane -t :10
# Kill Selected Pane
bind-key Q kill-pane
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment