aboutsummaryrefslogtreecommitdiff
path: root/tmux/tmux.conf
diff options
context:
space:
mode:
Diffstat (limited to 'tmux/tmux.conf')
-rw-r--r--tmux/tmux.conf64
1 files changed, 64 insertions, 0 deletions
diff --git a/tmux/tmux.conf b/tmux/tmux.conf
new file mode 100644
index 0000000..9b38cbf
--- /dev/null
+++ b/tmux/tmux.conf
@@ -0,0 +1,64 @@
+# Instead of using "C-b" as a prefix, use "C-x"
+unbind C-b
+set -g prefix C-x
+
+# Turn on mouse mode
+# https://groups.google.com/forum/#!msg/tmux-users/TRwPgEOVqho/Ck_oth_SDgAJ
+# https://github.com/tmux/tmux/blob/310f0a960ca64fa3809545badc629c0c166c6cd2/CHANGES#L12
+set -g mouse on
+
+# Bind "C-x r" to reload the configuration file
+bind-key r source-file ~/.tmux.conf \; display-message "~/.tmux.conf reloaded"
+
+# Holy answer that properly implements copying from tmux!
+# https://unix.stackexchange.com/a/349020/276661
+bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe "xclip -selection clipboard -i" \; display-message "Copied! Long-live tmux!"
+
+# Copy to clipboard after making selection with keyboard. Usefull for text that spans over a full pane and can't be selected with the mouse.
+bind-key y send-keys -X copy-pipe "xclip -selection clipboard -i" \; display-message "Copied system clipboard! Hooray! Long-live tmux!"
+
+# Moving around panes
+bind-key h select-pane -L
+bind-key j select-pane -D
+bind-key k select-pane -U
+bind-key l select-pane -R
+
+# Resizing panes
+bind-key -n C-h resize-pane -L 5
+bind-key -n C-j resize-pane -D 5
+bind-key -n C-k resize-pane -U 5
+bind-key -n C-l resize-pane -R 5
+
+# "C-x m" to actually clear the pane history
+bind-key m send-keys -R \; clear-history
+
+# Keybinding to activate pane typing sync
+# https://stackoverflow.com/questions/25909964/tmux-how-to-toggle-on-and-off-options-with-the-same-key
+bind-key b setw synchronize-panes \; display-message "synchronize-panes toggle"
+
+setw -g mode-keys vi # Move around with vi keys
+set-option -g status-key "vi" # Use vi mode for status bar command (like after typing "C-x [" one can search with "/")
+set-option -g status-bg "#666666" # Status bar background color
+set-option -g status-fg "#aaaaaa" # Status bar foreground color
+set-option -g status-left-length 50 # session name in status bar length =[annex]= part
+set-option -g history-limit 150000 # How many lines of history to keep
+
+# Set the panes initial index value to 1 instead of 0
+# 0 is too far from ` ;)
+set -g base-index 1
+set-window-option -g pane-base-index 1
+
+# Automatically set window title
+set-window-option -g automatic-rename on
+set-option -g set-titles on
+
+# Set "correct term"
+# https://wiki.archlinux.org/index.php/Tmux
+set -g default-terminal screen-256color
+
+# No delay for escape key press
+# https://mutelight.org/practical-tmux#faster-command-sequences
+set -sg escape-time 0
+
+# Enable arrow key navigation
+set-option -gw xterm-keys on \ No newline at end of file