aboutsummaryrefslogtreecommitdiff
path: root/tmux/tmux.conf
diff options
context:
space:
mode:
Diffstat (limited to 'tmux/tmux.conf')
-rw-r--r--tmux/tmux.conf91
1 files changed, 91 insertions, 0 deletions
diff --git a/tmux/tmux.conf b/tmux/tmux.conf
new file mode 100644
index 0000000..c80958d
--- /dev/null
+++ b/tmux/tmux.conf
@@ -0,0 +1,91 @@
+
+# *OLD* way to set styles
+# set -g status-bg green
+# set -g status-fg black
+# set-window-option -g window-status-current-bg black
+# set-window-option -g window-status-current-fg green
+
+# New way:
+set -g status-style "fg=green,bg=black"
+set-window-option -g window-status-current-style "bg=green,fg=black"
+set -g status-right "#[fg=black,bg=green] #(whoami)@#h|m:#(sh $HOME/.tmux_helper.sh memory)|l:#(sh $HOME/.tmux_helper.sh load)|#(sh $HOME/.tmux_helper.sh uptime)"
+# For a basic tmux configuration without the helper
+# set -g status-right "#[fg=black,bg=green] #(whoami)@#h"
+
+# Pretty nifty little option to mirror input for all panes
+bind M-s setw synchronize-panes
+
+# Allow the hotkeys to be switched using M-x to C-x, M-b to C-b, and so forth
+bind M-x set prefix C-x
+bind M-b set prefix C-b
+bind M-a set prefix C-a
+
+# set -g mode-mouse on
+setw -g mode-keys vi
+# setw -g aggressive-resize on
+
+# This has previously not given me any issues other than 'set termguicolors' in
+# vim
+# set -g default-terminal "screen-256color"
+
+# This seems to fix that problem, it may cause other issues but I'm going to
+# keep an eye on it
+set-option -g default-terminal "tmux-256color"
+set-option -ga terminal-overrides ",xterm*:Tc"
+
+
+# Don't let command rename our windows
+set-option -g allow-rename off
+
+# Press v to "visually" and y to "yank" the text
+# Press `c-b ]` to paste
+# If you ever want to look up a keybind use `c-b ?`
+bind-key -T copy-mode-vi v send-keys -X begin-selection
+bind-key -T copy-mode-vi y send-keys -X copy-selection
+
+# This one is also useful if you don't want to do what is listed above
+# bind p paste-buffer
+
+# Rather large histroy buffer so I don't lose shit
+set-option -g history-limit 16000
+
+# Fix for certian applications such as Nvim
+set -sg escape-time 0
+
+# Select panes with vim like bindings
+bind-key M-k select-pane -U
+bind-key M-j select-pane -D
+bind-key M-h select-pane -L
+bind-key M-l select-pane -R
+
+
+# Reload configuration
+bind-key r source ~/.tmux.conf
+# Respawn the pane # Useful if you have `set -g remain-on-exit on` or so
+bind-key M-r respawn-pane
+
+
+# Change the status line a little bit, most are close to defaults
+set -g status-left-length 16
+set -g status-left "[#S] "
+
+set -g status-right-length 40
+set -g window-status-format "#I:#W#F"
+
+set -g set-titles on
+set -g set-titles-string "tmux: #{session_name} [#I]#{window_name} -- #T"
+
+
+# If you still want to select text out of the terminal as you normally would
+# You should hold the shift key ( Linux ) Option/Alt works in iTerm2 on MacOS
+# Does not seem to work with the native terminal.
+set -g mouse on
+
+# Old mouse method
+# set-option -g mode-mouse on
+# set-option -g mouse-resize-pane on
+# set-option -g mouse-select-pane on
+# set-option -g mouse-select-window on
+
+# If you want any local configuration
+source ~/.tmux.conf.local