Skip to content

Instantly share code, notes, and snippets.

@amacgregor
Created April 13, 2016 15:41
Show Gist options
  • Select an option

  • Save amacgregor/7b54d5a7fa9aa7c0102160720afb3607 to your computer and use it in GitHub Desktop.

Select an option

Save amacgregor/7b54d5a7fa9aa7c0102160720afb3607 to your computer and use it in GitHub Desktop.

Revisions

  1. amacgregor created this gist Apr 13, 2016.
    198 changes: 198 additions & 0 deletions .vimrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,198 @@
    """""""""""""""""""""""""""""""""""""
    " Allan MacGregor Vimrc configuration
    """""""""""""""""""""""""""""""""""""
    set nocompatible
    syntax on
    set nowrap

    """" START Vundle Configuration

    " Disable file type for vundle
    filetype off " required

    " set the runtime path to include Vundle and initialize
    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()

    " let Vundle manage Vundle, required
    Plugin 'gmarik/Vundle.vim'

    " Vundle Plugin list
    Plugin 'tpope/vim-markdown'
    Plugin 'jtratner/vim-flavored-markdown'
    Plugin 'scrooloose/nerdtree'
    Plugin 'tomasr/molokai'
    Plugin 'majutsushi/tagbar'
    Plugin 'jakedouglas/exuberant-ctags'
    Plugin 'tpope/vim-fugitive'
    Plugin 'kablamo/vim-git-log'
    Plugin 'gregsexton/gitv'
    Plugin 'godlygeek/tabular'
    Plugin 'junegunn/limelight.vim'
    Plugin 'zenorocha/dracula-theme', {'rtp': 'vim/'}
    Plugin 'tobyS/vmustache'
    Plugin 'tobyS/pdv'
    Plugin 'tomtom/tcomment_vim'
    Plugin 'reedes/vim-pencil'
    Plugin 'janko-m/vim-test'
    Plugin 'benmills/vimux'
    Plugin 'vim-airline/vim-airline'
    Plugin 'vim-airline/vim-airline-themes'

    " Elixir Support
    Plugin 'elixir-lang/vim-elixir'
    Plugin 'mmorearty/elixir-ctags'
    Plugin 'mattreduce/vim-mix'
    Plugin 'avdgaag/vim-phoenix'
    Plugin 'BjRo/vim-extest'
    Plugin 'frost/vim-eh-docs'
    Plugin 'junegunn/fzf'

    " Theme
    Plugin 'sjl/badwolf'
    Plugin 'morhetz/gruvbox'
    Plugin 'mkarmona/colorsbox'
    Plugin 'romainl/Apprentice'
    Plugin 'Lokaltog/vim-distinguished'
    Plugin 'chriskempson/base16-vim'
    Plugin 'w0ng/vim-hybrid'
    Plugin 'AlessandroYorba/Sierra'
    Plugin 'daylerees/colour-schemes'

    Plugin 'LanguageTool'

    "Plugin 'joonty/vim-phpqa'
    "Plugin 'rafi/vim-phpspec'
    "Plugin 'powerline/powerline'
    "Plugin 'SirVer/ultisnips'

    " OSX stupid backspace fix
    set backspace=indent,eol,start

    call vundle#end() " required
    filetype plugin indent on " required

    """" END Vundle Configuration

    map <C-n> :NERDTreeToggle<CR>
    map <C-m> :TagbarToggle<CR>
    " Show linenumbers
    set number
    set ruler

    set tabstop=4
    set shiftwidth=4
    set smarttab
    set expandtab

    " PHP documenter script bound to Control-P
    autocmd FileType php inoremap <C-p> <ESC>:call pdv#DocumentWithSnip()<CR>i
    autocmd FileType php nnoremap <C-p> :call pdv#DocumentWithSnip()<CR>
    let g:pdv_template_dir = $HOME ."/.vim/bundle/pdv/templates_snip"

    " Theme...
    set t_Co=256
    syntax on
    "set background=dark
    " colorscheme badwolf
    " colorscheme gruvbox
    " colorscheme molokai
    " colorscheme apprentice
    " colorscheme distinguished
    " colorscheme base16-tomorrow
    " color Dracula
    colorscheme molokai

    set background=dark
    let g:hybrid_custom_term_colors = 1
    let g:hybrid_reduced_contrast = 1
    let g:sierra_Midnight = 1
    " colorscheme sierra
    " colorscheme hybrid

    " let base16colorspace=256 " Access colors present in 256 colorspace
    "
    let test#strategy = "vimux"
    let g:Powerline_symbols = 'fancy'
    let g:airline#extensions#tabline#enabled = 1
    let g:airline_powerline_fonts = 1

    let g:airline_theme='hybrid'
    "let g:airline_theme='luna'
    ")let g:airline_powerline_fonts=1

    " source /usr/local/lib/python2.7/site-packages/powerline/bindings/vim/plugin/powerline.vim
    set laststatus=2

    let g:phpqa_codesniffer_args = "--standard=PSR2"

    augroup markdown
    au!
    au BufNewFile,BufRead *.md,*.markdown setlocal filetype=ghmarkdown
    augroup END

    let g:pencil#wrapModeDefault = 'soft' " default is 'hard'

    let g:languagetool_jar = '/opt/languagetool/languagetool-commandline.jar'

    augroup pencil
    autocmd!
    autocmd FileType markdown,mkd call pencil#init()
    autocmd FileType text call pencil#init()
    augroup END

    nmap <silent> <leader>t :TestNearest<CR>
    nmap <silent> <leader>T :TestFile<CR>
    nmap <silent> <leader>a :TestSuite<CR>
    nmap <silent> <leader>l :TestLast<CR>
    nmap <silent> <leader>g :TestVisit<CR>

    " Vimux
    map <silent> <LocalLeader>rl :wa<CR> :VimuxRunLastCommand<CR>
    map <silent> <LocalLeader>vi :wa<CR> :VimuxInspectRunner<CR>
    map <silent> <LocalLeader>vk :wa<CR> :VimuxInterruptRunner<CR>
    map <silent> <LocalLeader>vx :wa<CR> :VimuxCloseRunner<CR>
    map <silent> <LocalLeader>vp :VimuxPromptCommand<CR>
    vmap <silent> <LocalLeader>vs "vy :call VimuxRunCommand(@v)<CR>
    nmap <silent> <LocalLeader>vs vip<LocalLeader>vs<CR>
    map <silent> <LocalLeader>ds :call VimuxRunCommand('clear; grep -E "^ *describe[ \(]\|^ *context[ \(]\|^ *it[ \(]" ' . bufname("%"))<CR>
    map <silent> <LocalLeader>rt :!ctags -R --exclude=".git\|.svn\|log\|tmp\|db\|pkg" --extra=+f --langmap=Lisp:+.clj<CR>
    map <silent> <LocalLeader>cj :!clj %<CR>
    map <silent> <LocalLeader>gd :e product_diff.diff<CR>:%!git diff<CR>:setlocal buftype=nowrite<CR>
    map <silent> <LocalLeader>pd :e product_diff.diff<CR>:%!svn diff<CR>:setlocal buftype=nowrite<CR>
    map <silent> <LocalLeader>nh :nohls<CR>
    map <silent> <LocalLeader>bd :bufdo :bd<CR>
    cnoremap <Tab> <C-L><C-D>
    nnoremap <silent> k gk
    nnoremap <silent> j gj
    nnoremap <silent> Y y$
    map <silent> <LocalLeader>ws :highlight clear ExtraWhitespace<CR>
    " Elixir Tagbar config
    let g:tagbar_type_elixir = {
    \ 'ctagstype' : 'elixir',
    \ 'kinds' : [
    \ 'f:functions',
    \ 'functions:functions',
    \ 'c:callbacks',
    \ 'd:delegates',
    \ 'e:exceptions',
    \ 'i:implementations',
    \ 'a:macros',
    \ 'o:operators',
    \ 'm:modules',
    \ 'p:protocols',
    \ 'r:records',
    \ 't:tests'
    \ ]
    \ }