mirror of
https://github.com/VectorKappa/dotfiles.git
synced 2025-12-19 16:26:10 +01:00
1.0.0 - Remade structure for GNU Stow
This commit is contained in:
239
tmux/.tmux.conf
Normal file
239
tmux/.tmux.conf
Normal file
@@ -0,0 +1,239 @@
|
||||
# tmux settings
|
||||
# http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1#x4f5054494f4e53
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# | General Settings |
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Make a new session, all you need is to run tmux a all the time then
|
||||
new-session
|
||||
|
||||
# Make window index start at 1
|
||||
set -g base-index 1
|
||||
|
||||
# Make pane index start at 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# Remove delay when sending commands
|
||||
# (default is 500 milliseconds)
|
||||
set -sg escape-time 1
|
||||
|
||||
# If you want to enable mouse scrolling & cut-n-paste, uncomment the following:
|
||||
#set -g mouse on
|
||||
#bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
|
||||
#bind -n WheelDownPane select-pane -t= \; send-keys -M
|
||||
#bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
|
||||
#bind -t vi-copy C-WheelUpPane halfpage-up
|
||||
#bind -t vi-copy C-WheelDownPane halfpage-down
|
||||
#bind -t emacs-copy C-WheelUpPane halfpage-up
|
||||
#bind -t emacs-copy C-WheelDownPane halfpage-down
|
||||
|
||||
set -g history-limit 30000
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# | Key Mappings |
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Change the key combination for the PREFIX key to `ctrl-a`
|
||||
set -g prefix C-a
|
||||
unbind-key C-b
|
||||
|
||||
# Make tmux send the PREFIX to an application running
|
||||
# within tmux simply by pressing PREFIX key twice
|
||||
bind C-a send-prefix
|
||||
bind a send-prefix
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# Use vim keybindings in copy mode
|
||||
setw -g mode-keys vi
|
||||
|
||||
# Remap the copy & paste keys to work as in vim
|
||||
unbind [
|
||||
bind Escape copy-mode
|
||||
# use P instead of p because of screen compatibility
|
||||
unbind P
|
||||
bind P paste-buffer
|
||||
bind -t vi-copy 'v' begin-selection
|
||||
bind -t vi-copy 'y' copy-selection
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# [ PREFIX + - ] Split window horizontally
|
||||
bind - split-window -v
|
||||
|
||||
# [ PREFIX + | ] Split window vertically
|
||||
bind | split-window -h
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# [ PREFIX + h/j/k/l ] Move from pane to pane
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# [ PREFIX + H/J/K/L ] Resize pane
|
||||
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
|
||||
|
||||
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
# [ PREFIX + r ] Reload tmux config
|
||||
bind r source-file ~/.tmux.conf \; display 'tmux configs reloaded'
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# | Status bar |
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Notified when something happens in one of the other windows
|
||||
#setw -g monitor-activity on
|
||||
#set -g visual-activity on
|
||||
|
||||
# Periodically refresh the status bar
|
||||
set -g status-interval 60
|
||||
|
||||
# Turn on UTF-8 support
|
||||
set -g status-utf8 on
|
||||
|
||||
# Customize what is displayed
|
||||
set -g status-justify left
|
||||
set -g status-left-length 50
|
||||
set -g status-left " %R | "
|
||||
# └─ current time
|
||||
set -g status-right " #S "
|
||||
# └─ current session name
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# | Visual Styling |
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
# Display things in 256 colors
|
||||
set -g default-terminal 'screen-256color'
|
||||
|
||||
# Solarized theme
|
||||
#### COLOUR (Solarized 256)
|
||||
|
||||
# default statusbar colors
|
||||
set-option -g status-bg colour235 #base02
|
||||
set-option -g status-fg colour136 #yellow
|
||||
set-option -g status-attr default
|
||||
|
||||
# default window title colors
|
||||
set-window-option -g window-status-fg colour244 #base0
|
||||
set-window-option -g window-status-bg default
|
||||
#set-window-option -g window-status-attr dim
|
||||
|
||||
# active window title colors
|
||||
set-window-option -g window-status-current-fg colour166 #orange
|
||||
set-window-option -g window-status-current-bg default
|
||||
#set-window-option -g window-status-current-attr bright
|
||||
|
||||
# pane border
|
||||
set-option -g pane-border-fg colour235 #base02
|
||||
set-option -g pane-active-border-fg colour240 #base01
|
||||
|
||||
# message text
|
||||
set-option -g message-bg colour235 #base02
|
||||
set-option -g message-fg colour166 #orange
|
||||
|
||||
# pane number display
|
||||
set-option -g display-panes-active-colour colour33 #blue
|
||||
set-option -g display-panes-colour colour166 #orange
|
||||
|
||||
# clock
|
||||
set-window-option -g clock-mode-colour colour64 #green
|
||||
|
||||
# bell
|
||||
# compatiblity with older tmux versions
|
||||
#set-window-option -g window-status-bell-style fg=colour235,bg=colour160 #base02, red
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# | Compatiblity with 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
|
||||
unbind 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
|
||||
|
||||
# quit \
|
||||
unbind '\'
|
||||
bind '\' confirm-before "kill-server"
|
||||
|
||||
# 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
|
||||
|
||||
# :kB: focus up
|
||||
unbind Tab
|
||||
bind Tab select-pane -t:.+
|
||||
unbind BTab
|
||||
bind BTab select-pane -t:.-
|
||||
|
||||
# " windowlist -b
|
||||
unbind '"'
|
||||
bind '"' choose-window
|
||||
|
||||
Reference in New Issue
Block a user