Skip to content

Instantly share code, notes, and snippets.

@reecer
Forked from paulrouget/.tmux.conf
Last active August 29, 2015 14:14
Show Gist options
  • Save reecer/e0f357cf6ff0dfb4feb9 to your computer and use it in GitHub Desktop.
Save reecer/e0f357cf6ff0dfb4feb9 to your computer and use it in GitHub Desktop.
##################-*-sh-*-#
# LS_COLORS configuration #
###########################
export LS_COLORS=""
add() {
C="$2"
if [[ $# -gt 2 && "$TERM" != xterm-256color ]]; then
C="$3"
fi
if [[ $C = 9* && "$TERM" = linux ]]; then
C="1;3${C#9}"
fi
LS_COLORS="$LS_COLORS$1=$C:"
}
add no 0 # Normal (non-filename) text
add fi 0 # Regular file
#add hl 37\;44 # Regular file with more than one link (hardlink)
add ln 96 # Symbolic link
add or 91\;40 # Orphaned symbolic link (defaults to ln)
# add mi # Missing file (visible when you type ls -l) (defaults to fi)
add pi 33 # Named pipe (FIFO)
add so 95 # Socket
add do 95 # Door ??
add bd 93 # Block device
add cd 93 # Character device
add di 94 # Directory (-t,o-w)
add tw 30\;42 # Directory that is sticky and other-writable (+t,o+w)
add ow 34\;42 # Directory that is other-writable and not sticky (-t,o+w)
add st 37\;44 # Directory with the sticky bit set and not other-writable (+t,o-w)
add ex 92 # Executable file
add su 37\;41 # File that is setuid (u+s)
add sg 30\;43 # File that is setgid (g+s)
add ca 30\;41 # File with capability ??
# lc ^[[ # Left code
# rc m # Right code
# ec # End code (replaces lc+no+rc)
# rs 0 # Reset code
# Archives
for i in zip rar ace tar z Z gz bz2 xz taz tgz tbz txz; do
add "*.$i" 31
done
# Packages
for i in deb rpm jar; do
add "*.$i" 91
done
## Medias
# Pictures
for i in jpg JPG jpeg gif bmp pbm pgm ppm png tga xbm xpm tif tiff xcf xwd; do
add "*.$i" 37
done
# Video
for i in avi mpg mpeg mov fli; do
add "*.$i" 95
done
# Sound
for i in ogg mp3 wav; do
add "*.$i" 95
done
## Documents
# Textual documents
for i in dvi ps pdf html htm rtf txt log tex; do
add "*.$i" 37
done
add \*README 36
add \*TODO 36
# Office Documents (50, 44, 38, 32)
#for i in odt doc docx odp ppt pptx ods xls xlsx; do
# add "*.$i" 36
#done
for i in odt doc docx; do
add "*.$i" "38;5;50" 36
done
for i in odp ppt pptx; do
add "*.$i" "38;5;44" 36
done
for i in ods xls xlsx; do
add "*.$i" "38;5;38" 36
done
## Developement
# Sources
#for i in cpp cxx cc c C h hxx sh awk pl rb py; do
# add "*.$i" 33
#done
for i in js cpp cxx cc c C; do
add "*.$i" "38;5;202" 37
done
for i in h hxx; do
add "*.$i" "38;5;208" 33
done
for i in sh awk pl rb py; do
add "*.$i" "38;5;214" 33
done
add \*.in "38;5;228" 93
add \*.am "38;5;228" 93
add \*.ac "38;5;228" 93
add \*.mk "38;5;227" 93
add \*Makefile "38;5;226" 93
add \*Kconfig "38;5;227" 93
add \*Kbuild "38;5;227" 93
# TODO: *.patch *.diff
# Objects
for i in so o a pyc; do
add "*.$i" 32
done
# Dirty
add \*~ 90
add \*# 90
add \*.orig 90
set -g default-terminal "screen-256color"
set -g status-utf8 on
bind M source-file ~/.tmux/mac.session
bind L source-file ~/.tmux/linux.session
# set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# THEME
set -g status-bg black
set -g status-fg white
set -g status-left-length 30
set -g status-right-length 60
set -g status-left ' #[default]'
set -g status-right '#[fg=colour235]Inbox: #[fg=yellow]#(ls ~/Mails/INBOX/new | wc -l | tr -d " ")#[fg=colour235]/#(ls ~/Mails/INBOX/cur ~/Mails/INBOX/new | wc -l | tr -d " ") | Bugzilla: #[fg=yellow]#(ls ~/Mails/bugzilla/new | wc -l | tr -d " ")#[fg=colour235]/#(ls ~/Mails/bugzilla/cur ~/Mails/bugzilla/new| wc -l | tr -d " ") | ml: #[fg=yellow]#(ls ~/Mails/lists/new | wc -l | tr -d " ")#[fg=colour235]/#(ls ~/Mails/lists/cur ~/Mails/lists/new | wc -l | tr -d " ")#[default] #[fg=colour198]%H:%M#[default]'
setw -g window-status-format '#[fg=colour235]#I #[fg=white]#W#[default] '
#FIXME: I want to be able to use: ⮁
setw -g window-status-current-format '#[bg=white,fg=black]⮀ #W #[bg=black,fg=white]⮀'
######################### SCREEN BINDINGS ######################
# $Id: screen-keys.conf,v 1.7 2010/07/31 11:39:13 nicm Exp $
#
# By Nicholas Marriott. Public domain.
#
# This configuration file binds many of the common GNU screen key bindings to
# appropriate tmux key bindings. Note that for some key bindings there is no
# tmux analogue and also that this set omits binding some commands available in
# tmux but not in screen.
#
# Note this is only a selection of key bindings and they are in addition to the
# normal tmux key bindings. This is intended as an example not as to be used
# as-is.
# Set the prefix to ^A.
unbind C-b
set -g prefix ^A
bind a send-prefix
# Bind appropriate commands similar to 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
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
# split -v |
unbind |
bind | split-window
# :kB: focus up
unbind Tab
bind Tab select-pane -t:.+
unbind BTab
bind BTab select-pane -t:.-
# " windowlist -b
unbind '"'
bind '"' choose-window
"""""""""""""""""""" PLUGINS
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'matchit.zip'
Bundle 'The-NERD-Commenter'
Bundle 'vim-powerline'
Bundle 'Command-T'
"""""""""""""""""""" GLOBAL
let mapleader=","
colorscheme molokai
set gfn=terminus
set go=
syntax on
filetype plugin indent on
set encoding=utf-8
set hidden
set showcmd
set nowrap
set backspace=indent,eol,start
set autoindent
set copyindent
set number
set shiftround
set ignorecase
set smartcase
set hlsearch
set incsearch
set history=1000
set undolevels=1000
set wildignore=*.swp,*.bak
set title
set visualbell
set noerrorbells
set list
set listchars=tab:>.,trail:.,extends:#,nbsp:.
set ttyfast
set mouse=
set nocompatible
set backup
set backupdir=~/.vim_backup
set noswapfile
set fileformats=unix,dos,mac
set laststatus=2
set expandtab
set softtabstop=2 tabstop=2 shiftwidth=2
set ruler
"""""""""""""""""""" KEYBINDINGS
map cc <leader>c<space>
map # {v}! par 72<CR>
map & {v}! par 72j<CR>
map <F6> :setlocal spell! spelllang=en<CR>
map <F12> :set invhls<CR>
cmap <C-g> <C-u><ESC>
command! -bang W w<bang>
"""""""""""""""""""" PLUGINS
let g:Powerline_symbols = 'fancy'
let g:CommandTMaxFiles=5000
let g:CommandTMaxHeight=12
map <C-o> :CommandT<CR>
let g:CommandTAcceptSelectionMap = '<CR>'
let g:CommandTCancelMap = '<C-g>'
"""""""""""""""""""" FILES SPECIFIC
au BufRead mutt-* set ft=mail
au BufRead mutt-* set invhls
au bufNewFile *.html 0r ~/.vim/templates/html.txt
au BufRead,BufNewFile *.jsm setfiletype javascript
au BufRead,BufNewFile *.xul setfiletype xml
autocmd filetype html,xml set listchars-=tab:>.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment