Skip to content

Instantly share code, notes, and snippets.

@juanique
Created June 19, 2024 05:06
Show Gist options
  • Select an option

  • Save juanique/5c21b1ab8eed9164c5651a4b2564ce19 to your computer and use it in GitHub Desktop.

Select an option

Save juanique/5c21b1ab8eed9164c5651a4b2564ce19 to your computer and use it in GitHub Desktop.
tmux.conf
# make CTRL+a the 'prefix' ala screen.
bind C-a send-prefix
set -g prefix C-a
# get rid of the tmux standard of CTRL+b
unbind C-b
set -s escape-time 1
set -g base-index 1
setw -g pane-base-index 1
# make it easy to reload the config (CTRL+r)
bind r source-file ~/.tmux.conf \; display "Config reloaded!"
# HA! SEE THIS SCREEN? WE CAN SPLIT BOTH WAYS WITHOUT BREAKING VERSIONS.
bind | split-window -h
bind - split-window -v
# and it was said... GIVE ME VI BINDINGS
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# make it bigger, make it smaller
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
#disabling mouse mode just to force myself to learn more of the commands
setw -g mouse off
#setting the colors
set -g status-style fg=white
set -g status-style bg=black
setw -g window-status-style fg=cyan
setw -g window-status-style bg=default
setw -g window-status-current-style fg=white
setw -g window-status-current-style bg=red
# moar colorz
set -g pane-border-style fg=green
set -g pane-border-style bg=black
set -g pane-active-border-style fg=black
set -g pane-active-border-style bg=green
set -g allow-rename off
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P"
# no more front and back, side to side. keep it centered.
set -g status-justify centre
setw -g monitor-activity on
set -g visual-activity on
# keep envs from the desktop to allow for better forwarding
set-option -g update-environment 'DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY DBUS_SESSION_BUS_ADDRESS'
# Bind appropriate commands similar to screen.
# lockscreen ^X x
unbind ^X
bind ^X lock-server
unbind x
bind x lock-server
# screen ^C c
unbind ^C
bind ^C new-window
bind c
bind c new-window
# detach ^D d
unbind ^D
bind ^D detach
# displays *
unbind *
bind * list-clients
# next ^@ ^N sp n
unbind ^@
bind ^@ next-window
unbind ^N
bind ^N next-window
unbind " "
bind " " next-window
unbind n
bind n next-window
# title A
unbind A
bind A command-prompt "rename-window %%"
# other ^A
unbind ^A
bind ^A last-window
# prev ^H ^P p ^?
unbind ^H
bind ^H previous-window
unbind ^P
bind ^P previous-window
unbind p
bind p previous-window
unbind BSpace
bind BSpace previous-window
# windows ^W w
unbind ^W
bind ^W list-windows
unbind w
bind w list-windows
# kill K k
unbind K
bind K confirm-before "kill-window"
unbind k
bind k confirm-before "kill-window"
# redisplay ^L l
unbind ^L
bind ^L refresh-client
unbind l
bind l refresh-client
# split -v |
unbind |
bind | split-window
# :kB: focus up
unbind Tab
bind Tab select-pane -t:.+
unbind BTab
bind BTab select-pane -t:.-
# " windowlist -b
unbind '"'
bind '"' choose-window
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment