summaryrefslogtreecommitdiffstats
path: root/.tmux.conf
diff options
context:
space:
mode:
authorLuke <luke@lukesmith.xyz>2018-01-21 18:29:48 -0700
committerLuke <luke@lukesmith.xyz>2018-01-21 18:29:48 -0700
commit50adee4e79febf6f74594604e9f7083461b04227 (patch)
tree54036701bd0957e51521e7f51d4d3b49450f22da /.tmux.conf
parent68bd2acdc8f8040deab188c748d207d93ba923ca (diff)
downloadeibhear-50adee4e79febf6f74594604e9f7083461b04227.tar.gz
eibhear-50adee4e79febf6f74594604e9f7083461b04227.tar.zst
eibhear-50adee4e79febf6f74594604e9f7083461b04227.zip
"first" commit, preparing for LARBS 2.0
Diffstat (limited to '.tmux.conf')
-rw-r--r--.tmux.conf177
1 files changed, 177 insertions, 0 deletions
diff --git a/.tmux.conf b/.tmux.conf
new file mode 100644
index 0000000..f255afa
--- /dev/null
+++ b/.tmux.conf
@@ -0,0 +1,177 @@
+##############################
+# _
+# | |_ _ __ ___ _ ___ __
+# | __| '_ ` _ \| | | \ \/ /
+# | |_| | | | | | |_| |> <
+# \__|_| |_| |_|\__,_/_/\_\
+#
+#############################
+#
+# COPY AND PASTE
+# http://robots.thoughtbot.com/tmux-copy-paste-on-os-x-a-better-future
+#
+# Use vim keybindings in copy mode
+setw -g mode-keys vi
+
+# Setup 'v' to begin selection as in Vim
+#bind-key -t vi-copy v begin-selection
+#bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
+
+# Update default binding of `Enter` to also use copy-pipe
+# unbind -t vi-copy Enter
+# bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
+#
+############################################################################
+############################################################################
+# Reset Prefix
+############################################################################
+set -g prefix C-a
+bind-key a send-prefix # for nested tmux sessions
+
+############################################################################
+# Global options
+############################################################################
+# large history
+set-option -g history-limit 10000
+
+# colors
+setw -g mode-bg black
+set-option -g default-terminal "screen-256color" #"xterm-256color" # "screen-256color"
+set-option -g pane-active-border-fg green
+
+# utf8 support
+#set-window-option -g utf8 on
+
+
+# basic settings
+set-window-option -g xterm-keys on # for vim
+set-window-option -g mode-keys vi # vi key
+set-window-option -g monitor-activity on
+set-window-option -g window-status-current-fg white
+setw -g window-status-current-attr reverse
+
+# Automatically set window title
+setw -g automatic-rename
+
+# use mouse # More on mouse support http://floriancrouzat.net/2010/07/run-tmux-with-mouse-support-in-mac-os-x-terminal-app/
+#setw -g mode-mouse on
+#setw -g mouse-resize-pane on
+#set -g mouse-select-window on
+#set -g mouse-select-pane on
+set -g mouse on
+set -g history-limit 30000
+set -g terminal-overrides 'xterm*:smcup@:rmcup@'
+
+# vi movement keys
+# set-option -g status-keys vi
+
+############################################################################
+# Status Bar
+############################################################################
+#set-option -g status-utf8 on
+set-option -g status-justify right
+set-option -g status-bg black # colour213 # pink
+set-option -g status-fg cyan
+set-option -g status-interval 5
+set-option -g status-left-length 30
+set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]'
+set-option -g status-right '#[fg=red,bold][[ #(git branch) branch ]] #[fg=cyan]»» #[fg=blue,bold]###S #[fg=magenta]%R %m-%d#(acpi | cut -d ',' -f 2)#[default]'
+set-option -g visual-activity on
+
+# Titles (window number, program name, active (or not)
+set-option -g set-titles on
+set-option -g set-titles-string '#H:#S.#I.#P #W #T'
+
+
+############################################################################
+# Unbindings
+############################################################################
+#unbind [ # copy mode bound to escape key
+unbind j
+unbind C-b # unbind default leader key
+unbind '"' # unbind horizontal split
+unbind % # unbind vertical split
+
+
+############################################################################
+# Bindings
+############################################################################
+# reload tmux conf
+bind-key r source-file ~/.tmux.conf
+
+#bind Escape copy-mode
+
+# new split in current pane (horizontal / vertical)
+bind-key c split-window -v # split pane horizontally
+bind-key v split-window -h # split pane vertically
+
+# list panes
+bind-key Space list-panes
+
+# break-pane
+bind-key Enter break-pane
+
+# join-pane [-dhv] [-l size | -p percentage] [-s src-pane]
+# [-t:dst-window.dst-pane] (destination window (dot) destination pane
+# (alias: joinp)
+#
+#bind C-j command-prompt "joinp"
+#bind C-j command-prompt "join-pane"
+#bind-key j command-prompt "join-pane -s '%%'"
+#bind-key j command-prompt "joinp -t:0"
+bind-key Space command-prompt "joinp -t:%%" # %% = prompt for window.pane [-V|H] # vert|hor split
+
+#previous pane
+bind-key -n C-up prev
+bind-key -n C-left prev
+
+#next pane
+bind-key -n C-right next
+bind-key -n C-down next
+
+############################################################################
+# windows
+############################################################################
+set-window-option -g window-status-current-bg red
+bind C-j previous-window
+bind C-k next-window
+bind-key C-a last-window # C-a C-a for last active window
+bind A command-prompt "rename-window %%"
+# By default, all windows in a session are constrained to the size of the
+# smallest client connected to that session,
+# even if both clients are looking at different windows.
+# It seems that in this particular case, Screen has the better default
+# where a window is only constrained in size if a smaller client
+# is actively looking at it.
+setw -g aggressive-resize on
+
+############################################################################
+# panes
+############################################################################
+# Navigation ---------------------------------------------------------------
+# use the vim motion keys to move between 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 ---------------------------------------------------------------
+bind-key C-h resize-pane -L
+bind-key C-j resize-pane -D
+bind-key C-k resize-pane -U
+bind-key C-l resize-pane -R
+
+# use vim motion keys while in copy mode
+setw -g mode-keys vi
+
+############################################################################
+# layouts
+############################################################################
+bind o select-layout "active-only"
+bind M-- select-layout "even-vertical"
+bind M-| select-layout "even-horizontal"
+bind M-r rotate-window
+
+
+# focus on first window
+# select-window -t 0