Last active
October 13, 2016 00:58
-
-
Save rainbowbird/b8620a8cdcf85e5a978ec96b9a9c7643 to your computer and use it in GitHub Desktop.
tmux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# http://mingxinglai.com/cn/2012/09/tmux/ | |
# | |
# author : Xu Xiaodong <[email protected]> | |
# modified : 2012 Jul 22 | |
# | |
#-- base settings --# | |
set -g default-terminal "screen-256color" | |
set -g display-time 3000 | |
set -g escape-time 0 | |
set -g history-limit 65535 | |
set -g base-index 1 | |
set -g pane-base-index 1 | |
#-- bindkeys --# | |
# prefix key (Ctrl+b) | |
set -g prefix ^b | |
unbind ^b | |
bind b send-prefix | |
# split window | |
unbind '"' | |
# vertical split (prefix -) | |
bind - splitw -v | |
unbind % | |
bind | splitw -h # horizontal split (prefix |) | |
# select pane | |
bind k selectp -U # above (prefix k) | |
bind j selectp -D # below (prefix j) | |
bind h selectp -L # left (prefix h) | |
bind l selectp -R # right (prefix l) | |
# resize pane | |
bind -r ^k resizep -U 10 # upward (prefix Ctrl+k) | |
bind -r ^j resizep -D 10 # downward (prefix Ctrl+j) | |
bind -r ^h resizep -L 10 # to the left (prefix Ctrl+h) | |
bind -r ^l resizep -R 10 # to the right (prefix Ctrl+l) | |
# swap pane | |
# swap with the previous pane (prefix Ctrl+u) | |
bind ^u swapp -U | |
# swap with the next pane (prefix Ctrl+d) | |
bind ^d swapp -D | |
# misc | |
# select the last pane (prefix e) | |
bind e lastp | |
# select the last window (prefix Ctrl+e) | |
bind ^e last | |
# kill pane (prefix q) | |
bind q killp | |
# kill window (prefix Ctrl+q) | |
bind ^q killw | |
# copy mode | |
# enter copy mode (prefix Escape) | |
bind Escape copy-mode | |
# paste buffer (prefix Ctrl+p) | |
bind ^p pasteb | |
# select (v) | |
bind -t vi-copy v begin-selection | |
# copy (y) | |
bind -t vi-copy y copy-selection | |
# zoom pane <-> window | |
#http://tmux.svn.sourceforge.net/viewvc/tmux/trunk/examples/tmux-zoom.sh | |
bind ^z run "tmux-zoom" | |
# app | |
# htop (prefix !) | |
bind ! splitw htop | |
# man (prefix m) | |
bind m command-prompt "splitw 'exec man %%'" | |
# perl func (prefix @) | |
bind @ command-prompt "splitw 'exec perldoc -t -f %%'" | |
# perl var (prefix *) | |
bind * command-prompt "splitw 'exec perldoc -t -v %%'" | |
# perl doc (prefix %) | |
bind % command-prompt "splitw 'exec perldoc -t %%'" | |
# ruby doc (prefix /) | |
bind / command-prompt "splitw 'exec ri %%'" | |
# reload config (prefix r) | |
bind r source ~/.tmux.conf \; display "Configuration reloaded!" | |
#-- statusbar --# | |
set -g status-utf8 on | |
set -g status-interval 1 | |
set -g status-keys vi | |
setw -g mode-keys vi | |
setw -g automatic-rename off | |
#-- colorscheme --# | |
#https://github.com/daethorian/conf-tmux/blob/master/colors/zenburn.conf | |
# modes | |
setw -g clock-mode-colour colour223 | |
setw -g mode-attr bold | |
setw -g mode-fg colour223 | |
setw -g mode-bg colour235 | |
# panes | |
set -g pane-border-bg colour234 | |
set -g pane-border-fg colour234 | |
set -g pane-active-border-bg colour232 | |
set -g pane-active-border-fg colour232 | |
# statusbar | |
set -g status-justify centre | |
set -g status-bg colour235 | |
set -g status-fg colour248 | |
set -g status-attr dim | |
#[default]» #[fg=colour187]#S #[default]• #[fg=colour187]w#I.p#P#[default]" | |
set -g status-left " | |
set -g status-left-attr bright | |
set -g status-left-length 20 | |
#[fg=colour174]#(/home/xiaodong/bin/uptime) #[default]• #[fg=colour174]#(cut -d ' ' -f 1-3 /proc/loadavg)" | |
set -g status-right " | |
set -g status-right-attr bright | |
set -g status-right-length 80 | |
setw -g window-status-current-fg colour223 | |
setw -g window-status-current-bg colour237 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format "#I:#W#F" | |
#setw -g window-status-alert-attr bold | |
#setw -g window-status-alert-fg colour255 | |
#setw -g window-status-alert-bg colour160 | |
# messages | |
set -g message-attr bold | |
set -g message-fg colour223 | |
set -g message-bg colour235 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```bash | |
#http://mingxinglai.com/cn/2012/09/tmux/ | |
#!/bin/sh | |
# | |
# name : tmuxen, tmux environment made easy | |
# author : Xu Xiaodong [email protected] | |
# license : GPL | |
# created : 2012 Jul 01 | |
# modified : 2012 Jul 02 | |
# | |
cmd=$(which tmux) # tmux path | |
session=codefun # session name | |
if [ -z $cmd ]; then | |
echo "You need to install tmux." | |
exit 1 | |
fi | |
$cmd has -t $session | |
if [ $? != 0 ]; then | |
$cmd new -d -n vim -s $session "vim" | |
$cmd splitw -v -p 20 -t $session "pry" | |
$cmd neww -n mutt -t $session "mutt" | |
$cmd neww -n irssi -t $session "irssi" | |
$cmd neww -n cmus -t $session "cmus" | |
$cmd neww -n zsh -t $session "zsh" | |
$cmd splitw -h -p 50 -t $session "zsh" | |
$cmd selectw -t $session:5 | |
fi | |
$cmd att -t $session | |
exit 0 | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment