- bash_profile
- tmux v2.3
- vim v8
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
[[ -s ~/.bashrc ]] && source ~/.bashrc | |
export CLICOLOR=1 | |
export LSCOLORS=GxFxCxDxBxegedabagaced | |
alias ls='ls -GFh' | |
alias ll='ls -lha' | |
function prompt { | |
local BLACK="\[\033[0;30m\]" | |
local BLACKBOLD="\[\033[1;30m\]" | |
local RED="\[\033[0;31m\]" | |
local REDBOLD="\[\033[1;31m\]" | |
local GREEN="\[\033[0;32m\]" | |
local GREENBOLD="\[\033[1;32m\]" | |
local YELLOW="\[\033[0;33m\]" | |
local YELLOWBOLD="\[\033[1;33m\]" | |
local BLUE="\[\033[0;34m\]" | |
local BLUEBOLD="\[\033[1;34m\]" | |
local PURPLE="\[\033[0;35m\]" | |
local PURPLEBOLD="\[\033[1;35m\]" | |
local CYAN="\[\033[0;36m\]" | |
local CYANBOLD="\[\033[1;36m\]" | |
local WHITE="\[\033[0;37m\]" | |
local WHITEBOLD="\[\033[1;37m\]" | |
local RESETCOLOR="\[\e[00m\]" | |
export PS1="\n$BLACKBOLD============================================================$RESETCOLOR\n--- $GREEN\W $RESETCOLOR$GREENBOLD\$(git branch 2> /dev/null | grep \* | cut -d ' ' -f2-) → $RESETCOLOR" | |
export PS2=" | → $RESETCOLOR" | |
} | |
prompt | |
tt() { | |
echo "$(date +%H:%M) - $* " >> ~/Documents/timesheet/$(date +%Y-%m-%d).txt | |
} |
###################### | |
### DESIGN CHANGES ### | |
###################### | |
## http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ | |
# panes | |
set -g pane-border-fg black | |
set -g pane-active-border-fg brightred | |
## Status bar design | |
# status line | |
set -g status-justify left | |
set -g status-bg default | |
set -g status-fg colour12 | |
set -g status-interval 2 | |
# messaging | |
set -g message-fg black | |
set -g message-bg yellow | |
set -g message-command-fg blue | |
set -g message-command-bg black | |
#window mode | |
setw -g mode-bg colour6 | |
setw -g mode-fg colour0 | |
# window status | |
setw -g window-status-format " #F#I:#W#F " | |
setw -g window-status-current-format " #F#I:#W#F " | |
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " | |
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " | |
setw -g window-status-current-bg colour0 | |
setw -g window-status-current-fg colour11 | |
setw -g window-status-current-attr dim | |
setw -g window-status-bg green | |
setw -g window-status-fg black | |
setw -g window-status-attr reverse | |
# Info on left (I don't have a session display for now) | |
set -g status-left '' | |
# loud or quiet? | |
set-option -g visual-activity off | |
set-option -g visual-bell off | |
set-option -g visual-silence off | |
set-window-option -g monitor-activity off | |
set-option -g bell-action none | |
set -g default-terminal "screen-256color" | |
# The modes { | |
setw -g clock-mode-colour colour135 | |
setw -g mode-attr bold | |
setw -g mode-fg colour196 | |
setw -g mode-bg colour238 | |
# } | |
# The panes { | |
set -g pane-border-bg colour235 | |
set -g pane-border-fg colour238 | |
set -g pane-active-border-bg colour236 | |
set -g pane-active-border-fg colour51 | |
# } | |
# The statusbar { | |
set -g status-position bottom | |
set -g status-bg colour234 | |
set -g status-fg colour137 | |
set -g status-attr dim | |
set -g status-left '' | |
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' | |
set -g status-right-length 50 | |
set -g status-left-length 20 | |
setw -g window-status-current-fg colour81 | |
setw -g window-status-current-bg colour238 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
setw -g window-status-fg colour138 | |
setw -g window-status-bg colour235 | |
setw -g window-status-attr none | |
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | |
setw -g window-status-bell-attr bold | |
setw -g window-status-bell-fg colour255 | |
setw -g window-status-bell-bg colour1 | |
# } | |
# The messages { | |
set -g message-attr bold | |
set -g message-fg colour232 | |
set -g message-bg colour166 | |
# } | |
# tmux v2.x | |
set-option -g mouse on | |
# dont rename windows automatically | |
set-option -g allow-rename off | |
# use vi-like navigation | |
setw -g mode-keys vi |
if empty(glob('~/.vim/autoload/plug.vim')) | |
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs | |
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | |
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC | |
endif | |
set nocompatible | |
call plug#begin('~/.vim/plugged') | |
Plug 'vim-airline/vim-airline' | |
Plug 'vim-airline/vim-airline-themes' | |
Plug 'tpope/vim-vinegar' | |
Plug 'tpope/vim-fugitive' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'ternjs/tern_for_vim' | |
Plug 'majutsushi/tagbar' | |
Plug 'moll/vim-node' | |
Plug 'pangloss/vim-javascript' | |
Plug 'mxw/vim-jsx' | |
Plug 'hail2u/vim-css3-syntax' | |
Plug 'flazz/vim-colorschemes' | |
Plug 'prettier/vim-prettier', { | |
\ 'do': 'npm install', | |
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql'] } | |
call plug#end() | |
colorscheme molokai | |
" let g:airline#extensions#tabline#enabled = 1 | |
let g:jsx_ext_required = 0 | |
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard'] | |
let g:prettier#autoformat = 0 | |
autocmd BufWritePre *.js,*.jsx,*.json,*.css,*.scss,*.less,*.graphql Prettier | |
let g:prettier#config#print_width = 80 | |
let g:prettier#config#tab_width = 2 | |
let g:prettier#config#use_tabs = 'false' | |
let g:prettier#config#semi = 'true' | |
let g:prettier#config#single_quote = 'true' | |
let g:prettier#config#bracket_spacing = 'true' | |
let g:prettier#config#jsx_bracket_same_line = 'false' | |
let g:prettier#config#trailing_comma = 'all' | |
let g:prettier#config#parser = 'babylon' | |
set laststatus=2 | |
" options | |
set history=50 | |
set ruler | |
set showcmd | |
set hidden | |
set winminheight=0 | |
set mouse=a | |
set nowrap | |
" tabs | |
set tabstop=2 | |
set shiftwidth=2 | |
set softtabstop=2 | |
set smarttab | |
set expandtab | |
" search | |
set incsearch | |
set ignorecase | |
set smartcase | |
set hlsearch | |
set gdefault | |
syntax on | |
set cindent | |
set cinoptions=l1,j1 | |
set showmatch | |
set matchtime=3 | |
set number | |
set numberwidth=5 | |
set showmode | |
" make sure to create this directory | |
set directory=$HOME/.vim/swapfiles// | |
set backupcopy=yes | |
set backspace=indent,eol,start | |
" custom key mappings | |
nnoremap <C-j> <C-e> | |
nnoremap <C-k> <C-y> | |
" <Ctrl-l> redraws the screen and removes any search highlighting. | |
nnoremap <silent> <C-l> :nohl<CR><C-l> | |
" focus on the bottom/right when splitting screen | |
set splitbelow | |
set splitright | |
" let tmux knows the extended mouse mode | |
set ttymouse=xterm2 |
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# this is workaround for bug in prettier where it replaces the current buffer if there are parsing errors | |
stdin=`tee` | |
formatted=`prettier --single-quote --trailing-comma all --stdin <<< "$stdin" 2> /dev/null` | |
if [ $? -ne 0 ]; then | |
formatted=$stdin | |
fi | |
printf %s "$formatted" |