mirror of
https://github.com/jbowdre/dotfiles.git
synced 2024-12-22 12:22:17 +00:00
initial tmux config
This commit is contained in:
parent
0af36cd777
commit
e6dde75ef7
1 changed files with 112 additions and 0 deletions
112
tmux/.tmux.conf
Normal file
112
tmux/.tmux.conf
Normal file
|
@ -0,0 +1,112 @@
|
|||
####################################
|
||||
## BINDINGS ##
|
||||
####################################
|
||||
|
||||
# Change default Prefix key to Ctrl+Space
|
||||
unbind C-b
|
||||
set -g prefix C-Space
|
||||
|
||||
# Reload config with Prefix+R
|
||||
unbind r
|
||||
bind r source-file ~/.tmux.conf \; display "Reloaded ~/.tmux.conf"
|
||||
|
||||
# mouse mode
|
||||
set -g mouse on
|
||||
bind m set -g mouse on \; display 'Mouse: ON'
|
||||
bind M set -g mouse off \; display 'Mouse: OFF'
|
||||
|
||||
# Increase history limit
|
||||
set -g history-limit 100000
|
||||
|
||||
# shorter escape time
|
||||
set -sg escape-time 0
|
||||
set -sg repeat-time 600
|
||||
|
||||
# Copy Mode (Prefix+[)
|
||||
set-window-option -g mode-keys vi # Vim keys to navigate (Ctrl+u, Ctrl+d, /)
|
||||
# unbind -T copy-mode-vi Space; # Begin-selection
|
||||
# unbind -T copy-mode-vi Enter; # Copy-selection
|
||||
# bind -T copy-mode-vi v send-keys -X begin-selection # select text with 'v'
|
||||
# bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel --clipboard" # copy text with 'y'
|
||||
|
||||
# Vim integrations
|
||||
set -g -a terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q' # fix cursor mode
|
||||
# Smart pane switching with awareness of Vim splits
|
||||
# See: https://github.com/christoomey/vim-tmux-navigator
|
||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
|
||||
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
|
||||
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
|
||||
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
|
||||
bind -n C-\\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
|
||||
|
||||
## PANES
|
||||
# Split panes with v and h
|
||||
unbind v
|
||||
unbind h
|
||||
unbind % # Split vertically
|
||||
unbind '"' # Split horizontally
|
||||
bind v split-window -h -c "#{pane_current_path}"
|
||||
bind h split-window -v -c "#{pane_current_path}"
|
||||
|
||||
# Navigating panes with Ctrl+{hjkl}
|
||||
bind -n C-h select-pane -L
|
||||
bind -n C-j select-pane -D
|
||||
bind -n C-k select-pane -U
|
||||
bind -n C-l select-pane -R
|
||||
|
||||
# pane resize with left/right/up/down
|
||||
bind -r Left resize-pane -L 5
|
||||
bind -r Right resize-pane -R 5
|
||||
bind -r Up resize-pane -U 5
|
||||
bind -r Down resize-pane -D 5
|
||||
|
||||
# swap panes with <>
|
||||
bind > swap-pane -D
|
||||
bind < swap-pane -U
|
||||
|
||||
## WINDOWS
|
||||
# Windows start at 1 not 0
|
||||
set -g base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
|
||||
# Window operations
|
||||
unbind n # Move to next window
|
||||
unbind w # Change current window interactively
|
||||
bind n command-prompt "rename-window '%%'"
|
||||
bind w new-window -c "#{pane_current_path}"
|
||||
bind -n M-j previous-window # Alt+j
|
||||
bind -n M-k next-window # Alt+k
|
||||
|
||||
####################################
|
||||
## DESIGN ##
|
||||
####################################
|
||||
|
||||
# default statusbar colors
|
||||
set-option -g status-style fg=yellow,bg=black
|
||||
|
||||
# default window title colors
|
||||
set-window-option -g window-status-style fg=brightblue,bg=default
|
||||
# set-window-option -g window-status-style dim
|
||||
|
||||
# active window title colors
|
||||
set-window-option -g window-status-current-style fg=brightred,bg=default
|
||||
#set-window-option -g window-status-current-style bright
|
||||
|
||||
# pane border
|
||||
set-option -g pane-border-style fg=black
|
||||
set-option -g pane-active-border-style fg=brightgreen
|
||||
|
||||
# message text
|
||||
set-option -g message-style fg=brightred,bg=black
|
||||
|
||||
# pane number display
|
||||
set-option -g display-panes-active-colour blue
|
||||
set-option -g display-panes-colour brightred
|
||||
|
||||
# clock
|
||||
set-window-option -g clock-mode-colour brightgreen
|
||||
|
||||
# bell
|
||||
set-window-option -g window-status-bell-style fg=black,bg=red
|
Loading…
Reference in a new issue