- 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
Inside Vim
:PlugInstall
| [[ -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/ | |
| # 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-style fg=colour196,bg=colour238,bold | |
| # } | |
| # The windows { | |
| set -g window-style fg=colour247,bg=colour235 | |
| set -g window-active-style fg=colour250,bg=black | |
| set focus-events on | |
| set-hook -g client-focus-in "set window-active-style 'fg=colour250,bg=black'" | |
| set-hook -g client-focus-out "set window-active-style 'fg=colour247,bg=colour236'" | |
| # } | |
| # The panes { | |
| set -g pane-border-style fg=colour238 | |
| set -g pane-active-border-style fg=colour51 | |
| # } | |
| # The statusbar { | |
| set -g status-interval 2 | |
| set -g status-justify left | |
| set -g status-position bottom | |
| set -g status-left '' | |
| set -g status-left-length 20 | |
| 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-style fg=colour137,bg=colour234,dim | |
| setw -g window-status-current-style fg=colour81,bg=colour238,bold | |
| setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
| setw -g window-status-style fg=colour138,bg=colour235,none | |
| setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | |
| setw -g window-status-bell-style fg=colour255,bg=colour1,bold | |
| # } | |
| # The messages { | |
| set -g message-style fg=colour232,bg=colour166,bold | |
| set -g message-command-style fg=blue,bg=black | |
| # } | |
| # 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
Inside Vim
:PlugInstall
| # 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" |