<root> / tmux.conf (3a7a15d08bbd91353d042ff735d93f33131c5957) (2,385B) (mode 100644) [raw]
# use vi-like shortcuts in various modes
set-window-option -g mode-keys vi

# use ctrl-s as prefix key
set-option -g prefix C-s
unbind-key C-b
bind-key C-s send-prefix

# don't wait for the next character after escape key
set-option -g escape-time 0

# setup default type of terminal
set-option -g default-terminal "screen-256color"

# show pane numbers for two seconds
set-option -g display-panes-time 2000

# store more of buffer history
set-option -g history-limit 10000

# use vi-line shortcuts to yank text in copy-mode
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'V' select-line
bind-key -t vi-copy '^v' rectangle-toggle
bind-key -t vi-copy 'y' copy-selection

# reload config (prefix + r)
bind-key r source ~/.tmux.conf \; display "Configuration reloaded!"

# rebind vertical and horizontal splitting shortcuts
unbind-key %
bind-key | split-window -h
unbind-key "\""
bind-key - split-window -v

# duplicate prefix+n/p keys with prefix+<c-n>/<c-p>
bind-key ^n next-window
bind-key ^p previous-window

# move between panes using prefix + h/j/k/l
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R

# resize pane using prefix + H/J/K/L
bind-key H resize-pane -L 5
bind-key J resize-pane -D 5
bind-key K resize-pane -U 5
bind-key L resize-pane -R 5

# configure borders colour scheme
set-option -g pane-border-bg black
set-option -g pane-border-fg colour235
set-option -g pane-active-border-bg colour235
set-option -g pane-active-border-fg white

# configure status bar colour scheme
set-window-option -g status-attr bold
set-window-option -g status-bg colour235
set-window-option -g status-fg white
set-window-option -g window-status-bg colour235
set-window-option -g window-status-fg white
set-window-option -g window-status-current-bg colour235
set-window-option -g window-status-current-fg colour248
set-window-option -g window-status-current-attr bold,reverse

# configure status bar look
set-option -g status-justify centre
set-option -g status-right '#H | %Y.%m.%d %H:%M '
set-option -g status-right-length 50

# display status bar at the top
set-option -g status-position top

# copy copy-mode selection into primary selection of X
bind-key -t vi-copy c copy-pipe "xclip -selection primary -i"
# copy copy-mode selection into clipboard of X
bind-key -t vi-copy C copy-pipe "xclip -selection clipboard -i"
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/dotfiles

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/dotfiles

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master