Skip to content

Instantly share code, notes, and snippets.

@jeffawang
Last active December 11, 2015 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeffawang/4666326 to your computer and use it in GitHub Desktop.
Save jeffawang/4666326 to your computer and use it in GitHub Desktop.
set-option -g default-command "reattach-to-user-namespace -l zsh"
setw -g mode-keys vi
unbind [
bind q copy-mode
bind Q display-panes
unbind p
bind p paste-buffer
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
set -g history-limit 50000
unbind x
bind x run ". ~/.tmux/.zoom.sh"
bind j run "/Users/jeffwang/.tmux/.copy.sh"
bind N previous-window
bind O select-pane -t :.-
bind | split-window -h
bind _ split-window
bind -r C-l resize-pane -R
bind -r C-k resize-pane -U
bind -r C-j resize-pane -D
bind -r C-h resize-pane -L
bind -r ) swap-pane -D
bind -r ( swap-pane -U
unbind [
bind -r [ select-pane -t :.-
unbind ]
bind -r ] select-pane -t :.+
unbind {
bind -r { previous-window
unbind }
bind -r } next-window
set -g status-bg black
set -g status-fg white
set -g window-status-current-fg black
set -g window-status-current-bg blue
set -g status-left 'tmux (#S)'
set -g window-status-fg black
set -g window-status-bg white
set -g window-status-format '#I:#W'
#!/bin/bash
tmux copy-selection
tmux save-buffer - | reattach-to-user-namespace pbcopy
call pathogen#infect()
filetype plugin indent on
syn on
set number
highlight LineNr cterm=none ctermfg=grey
set hlsearch
nohl
" Indentation settings. Automatic when relevant and 4 spaces.
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set noswapfile
set encoding=utf-8
set scrolloff=3
set visualbell
" set cursorline
set ttyfast
set ignorecase
set smartcase
set incsearch
set showmatch
set showcmd
nnoremap j gj
nnoremap k gk
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
hi CursorLine cterm=underline ctermbg=none ctermfg=none guibg=none guifg=none
hi CursorColumn cterm=underline ctermbg=none ctermfg=none guibg=none guifg=none
let mapleader = ","
nnoremap <C-o> :CtrlPMixed<cr>
nnoremap <C-p> :CtrlP
nnoremap <leader>n :NERDTree<cr>
nnoremap <leader>h :set hlsearch! hlsearch?<cr>
" Copy from visual mode
vnoremap <leader>y :w !pbcopy<cr><cr>
" Vim yank register to system clipboard
nnoremap <leader>j :call system("pbcopy", getreg(""))<cr>
" set list
" set listchars=tab:▸\ ,eol:¬
hi NonText ctermfg=4
hi VertSplit term=bold,reverse cterm=reverse gui=bold,reverse ctermfg=0 ctermbg=4
hi StatusLineNC term=underline,reverse cterm=underline,reverse gui=reverse ctermfg=0 ctermbg=4
hi StatusLine term=none cterm=underline gui=none ctermfg=0 ctermbg=4
hi User1 ctermbg=4 ctermfg=0 guibg=green guifg=red cterm=underline
hi User2 ctermbg=3 ctermfg=0 guibg=none guifg=none cterm=underline
hi User3 ctermbg=green ctermfg=red guibg=green guifg=red
" set statusline=%t[%{strlen(&fenc)?&fenc:'none'},%{&ff}]%h%m%r%y%=%c,%l/%L\ %P
"set statusline=%1*
set statusline=%F\ "Full path
" set statusline+=%t "tail of the filename
set statusline+=%*[%n%H%M%R%W]
"set statusline+=%h "help file flag
"set statusline+=\ %m "modified flag
"set statusline+=%r "read only flag
"set statusline+=%y "filetype
set statusline+=%= "left/right separator
set statusline+=%L\ "Total line count
set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
set statusline+=%{&ff}] "file format
set statusline+=\ %P "percent through file
set laststatus=2
"if version >= 700
" au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta
" au InsertLeave * hi StatusLine term=reverse ctermfg=0 ctermbg=2 gui=bold,reverse
"endif
" Coloring stuff....
hi Comment ctermfg=7 cterm=none
hi Todo ctermfg=0 ctermbg=3 cterm=none
hi Constant ctermfg=1 cterm=none
hi String ctermfg=4* cterm=none
hi Identifier ctermfg=4 cterm=none
hi Function ctermfg=2 cterm=none
hi Type ctermfg=5 cterm=none
hi Statement ctermfg=3 cterm=none
hi Keyword ctermfg=3 cterm=none
hi PreProc ctermfg=3 cterm=none
hi Number ctermfg=1* cterm=none
hi Special ctermfg=5 cterm=none
#!/bin/bash -f
currentwindow=`tmux list-window | tr '\t' ' ' | sed -n -e '/(active)/s/^[^:]*: *\([^ ]*\) .*/\1/gp'`;
currentpane=`tmux list-panes | sed -n -e '/(active)/s/^\([^:]*\):.*/\1/gp'`;
panecount=`tmux list-panes | wc | sed -e 's/^ *//g' -e 's/ .*$//g'`;
inzoom=`echo $currentwindow | sed -n -e '/^zoom/p'`;
if [ $panecount -ne 1 ]; then
inzoom="";
fi
if [ $inzoom ]; then
lastpane=`echo $currentwindow | rev | cut -f 1 -d '@' | rev`;
lastwindow=`echo $currentwindow | cut -f 2- -d '@' | rev | cut -f 2- -d '@' | rev`;
tmux select-window -t $lastwindow;
tmux select-pane -t $lastpane;
tmux swap-pane -s $currentwindow;
tmux kill-window -t $currentwindow;
else
newwindowname=zoom@$currentwindow@$currentpane;
tmux new-window -d -n $newwindowname;
tmux swap-pane -s $newwindowname;
tmux select-window -t $newwindowname;
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment