git.fiddlerwoaroof.com
vimrc
7d2363e4
 let g:slimv_python_version=3
6ff9befd
 let counter = 0
 let g:airline_theme="murmur"
70e8006a
 let g:easytags_async=1
 let g:easytags_by_filetype="~/.tags"
6ff9befd
 let g:haddock_browser_callformat = "%s %s"
 let g:haddock_browser = "open"
 let g:lisp_rainbow=1
70e8006a
 "let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
 "let g:pandoc_formatting_settings = "h"
 "let g:pandoc#modules#disabled =  ["command", "bibliographies"]
 "let g:pandoc#modules#enabled =  ["formatting", "folding", "completion", "metadata","menu"]
6ff9befd
 "let g:pandoc_no_empty_implicits=1
 "let g:pandoc_use_hard_wraps = 1
70e8006a
 "let g:phpcomplete_index_composer_command = "composer"
6ff9befd
 let g:snips_author="Edward Langley"
 let g:solarized_termtrans=1
70e8006a
 let g:sql_type_default = 'pgsql'
 let g:syntastic_auto_loc_list=1
6ff9befd
 let g:syntastic_python_checkers = ['python']
70e8006a
 let g:syntastic_scss_sass_args = "-r sass-css-importer -r susy"
 let g:syntastic_html_tidy_ignore_errors=[" proprietary attribute " ,"trimming empty <", "unescaped &" , "lacks \"action", "is not recognized!", "discarding unexpected", "attribute name \":", "attribute name \"@"]
 
6ff9befd
 let g:Tex_CompileRule_pdf = 'xelatex -interaction=nonstopmode $*'
 let g:tex_flavor='xelatex'
 let g:unite_force_overwrite_statusline = 0
 let g:vimclojure#HighlightBuiltins = 1
 let g:vimclojure#HighlightBuiltins = 1
 let g:vimclojure#ParenRainbow = 1
 let g:vimclojure#ParenRainbow = 1
 let g:virtualenv_directory = "$HOME/python_envs"
 let maplocalleader=','
 let $PAGER=''
 let python_highlight_all = 1
 let python_no_tab_space_error=1
 let python_space_errors=1
 let vimclojure#WantNailgun = 1
70e8006a
 let g:assistant_show_help_shortcut=" K"
6ff9befd
 " This goes here in case a filetype overrides it
 
 "NeoBundle Scripts-----------------------------
 if has('vim_starting')
   set nocompatible               " Be iMproved
 
   " Required:
   set runtimepath+=$HOME/.vim/bundle/neobundle.vim/
 endif
 
 " Required:
 call neobundle#begin(expand("$HOME/.vim/bundle"))
 
 " Let NeoBundle manage NeoBundle
 " Required:
 NeoBundleFetch 'Shougo/neobundle.vim'
 
 " My Bundles here:
70e8006a
 NeoBundle 'alvan/vim-assistant'
 NeoBundle 'posva/vim-vue'
 NeoBundle 'evidens/vim-twig'
 NeoBundle 'tpope/vim-fugitive'
 NeoBundle 'joonty/vdebug'
 NeoBundle 'shawncplus/phpcomplete.vim'
 NeoBundle 'editorconfig/editorconfig-vim'
 "NeoBundle 'lukaszb/vim-web-indent'
 NeoBundle 'KabbAmine/zeavim.vim'
6ff9befd
 NeoBundle 'dbakker/vim-paragraph-motion'
70e8006a
 NeoBundle 'jceb/vim-editqf'
 "NeoBundle 'mustache/vim-mustache-handlebars'
 NeoBundle 'davidoc/taskpaper.vim'
 NeoBundle 'altercation/vim-colors-solarized'
 "NeoBundle 'bitc/vim-hdevtools'
 "NeoBundle 'Blackrush/vim-gocode'
 NeoBundle 'bling/vim-airline'
 NeoBundle 'bling/vim-airline-themes'
 "NeoBundle 'burnettk/vim-angular'
 NeoBundle 'christoomey/vim-tmux-navigator'
 "NeoBundle 'curist/vim-angular-template'
 "NeoBundle 'eagletmt/ghcmod-vim'
 "NeoBundle 'eagletmt/neco-ghc'
 NeoBundle 'edsono/vim-matchit'
 ""NeoBundle 'enomsg/vim-haskellConcealPlus'
 "NeoBundle 'exu/pgsql.vim'
 "NeoBundle 'fiddlerwoaroof/htmljinja'
 "NeoBundle 'fiddlerwoaroof/vim-jinja'
 "NeoBundle 'godlygeek/tabular'
 "NeoBundle 'groenewege/vim-less'
 "NeoBundle 'guns/vim-clojure-static'
 NeoBundle 'ivanov/vim-ipython'
 NeoBundle 'jmcantrell/vim-virtualenv'
 NeoBundle 'kien/rainbow_parentheses.vim'
 NeoBundle 'kovisoft/slimv'
 "NeoBundle 'lukerandall/haskellmode-vim'
 ""NeoBundle 'm2mdas/phpcomplete-extended'
 "NeoBundle 'markcornick/vim-vagrant'
 "NeoBundle 'matthewsimo/angular-vim-snippets'
 NeoBundle 'mattn/emmet-vim.git'
 NeoBundle 'msanders/snipmate.vim'
 ""NeoBundle 'othree/javascript-libraries-syntax.vim'
 "NeoBundle 'pangloss/vim-javascript'
 NeoBundle 'gavocanov/vim-js-indent'
 "NeoBundle 'vim-scripts/JavaScript-Indent'
 NeoBundle 'jelera/vim-javascript-syntax'
 "NeoBundle 'raichoo/haskell-vim'
 NeoBundle 'rking/ag.vim' "Ag search utility
 NeoBundle 'rust-lang/rust.vim'
 NeoBundle 'scrooloose/nerdcommenter'
 NeoBundle 'scrooloose/nerdtree'
 NeoBundle 'scrooloose/syntastic'
 NeoBundle 'Shougo/unite.vim'
 NeoBundle 'Shougo/unite-outline'
 NeoBundle 'tsukkee/unite-tag'
 NeoBundle 'Shougo/vimfiler.vim'
 NeoBundle 'Shougo/vimproc'
 "NeoBundle 'Shougo/vimshell.vim'
 NeoBundle 'sjl/gundo.vim'
 "NeoBundle 'sjl/vitality.vim'
 "NeoBundle 'sophacles/vim-bundle-mako'
 NeoBundle 'terryma/vim-multiple-cursors'
 "NeoBundle 'tpope/vim-fireplace'
 NeoBundle 'tpope/vim-repeat'
 NeoBundle 'tpope/vim-surround'
 "NeoBundle 'Twinside/vim-haskellFold'
 "NeoBundle 'Twinside/vim-hoogle'
 ""NeoBundle 'Valloric/YouCompleteMe'
 ""NeoBundle 'vim-pandoc/vim-pandoc'
 "NeoBundle 'vim-scripts/dbext.vim'
 "NeoBundle 'vim-scripts/php.vim--Garvin'
 "NeoBundle 'vim-scripts/pydoc.vim'
 "NeoBundle 'vim-scripts/VimClojure'
 NeoBundle 'vim-voom/VOoM'
 NeoBundle 'ytsunetsune/unite-outline-euslisp'
 NeoBundle 'xolox/vim-misc'
 NeoBundle 'xolox/vim-easytags'
 NeoBundle 'majutsushi/tagbar'
a76f7517
 NeoBundle 'LnL7/vim-nix'
6ff9befd
 
 
 " Required:
 call neobundle#end()
 
 " Required:
 filetype plugin indent on
 
 " If there are uninstalled bundles found on startup,
 " this will conveniently prompt you to install them.
 NeoBundleCheck
 "End NeoBundle Scripts-------------------------
 
 let counter = 0
 let g:airline_theme="murmur"
 let g:haddock_browser_callformat = "%s %s"
 let g:haddock_browser = "open"
 let g:lisp_rainbow=1
 "let g:pandoc#filetypes#handled = ["markdown", "rst", "textile"]
 "let g:pandoc_formatting_settings = "h"
 "let g:pandoc#modules#disabled =  ["command", "bibliographies"]
 "let g:pandoc#modules#enabled =  ["formatting", "folding", "completion", "metadata","menu"]
 "let g:pandoc_no_empty_implicits=1
 "let g:pandoc_use_hard_wraps = 1
 let g:slimv_disable_clojure=1
 let g:slimv_repl_split=3
 let g:slimv_browser_command_suffix='2>&1 > /dev/null'
 let g:snips_author="Edward Langley"
 let g:solarized_termtrans=1
 let g:sql_type_default = 'pgsql'
 let g:syntastic_auto_loc_list=1
 let g:syntastic_python_checkers = ['python']
 let g:Tex_CompileRule_pdf = 'xelatex -interaction=nonstopmode $*'
 let g:tex_flavor='xelatex'
 let g:unite_force_overwrite_statusline = 0
 let g:vimclojure#HighlightBuiltins = 1
 let g:vimclojure#ParenRainbow = 1
 let g:virtualenv_directory = "$HOME/python_envs"
 let maplocalleader=','
 let $PAGER=''
 let python_highlight_all = 1
 let python_no_tab_space_error=1
 let python_space_errors=1
 let vimclojure#WantNailgun = 1
 
 
 " IMPORTANT: grep will sometimes skip displaying the file name if you
 " search in a singe file. This will confuse Latex-Suite. Set your grep
 " program to always generate a file-name.
 
 " OPTIONAL: This enables automatic indentation as you type.
 filetype indent on
 
 " OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
 " 'plaintex' instead of 'tex', which results in vim-latex not being loaded.
 " The following changes the default filetype back to 'tex':
 let g:tex_flavor='latex'
 
 " Configuration file for vim
 
 " Normally we use vim-extensions. If you want true vi-compatibility
 " remove change the following statements
 
 " Don't write backup file if vim is being called by "crontab -e"
 au BufWrite /private/tmp/crontab.* set nowritebackup
 " Don't write backup file if vim is being called by "chpass"
 au BufWrite /private/etc/pw.* set nowritebackup
 
 "Enable support for Color xterm
 :if has("terminfo")
 :  set t_Co=8
 :  set t_Sf=[3%p1%dm
 :  set t_Sb=[4%p1%dm
 :else
 :  set  t_Co=8
 :  set t_Sf=[3%dm
 :  set t_Sb=[4%dm
 :endif
 
 set omnifunc=syntaxcomplete#Complete
 set ignorecase
 set smartcase
70e8006a
 "set autoindent
6ff9befd
 set nu
 set expandtab
 set tabstop=3 softtabstop=2
 set smarttab
 set shiftwidth=2
 set incsearch
 set scrolloff=4
 set wildmode=longest,list
 set autoread
 set background=dark
 set pastetoggle=<F12>
 set undodir=~/.vim/undodir
 set undofile
 set undolevels=10000
 set undoreload=100000
 set foldlevel=9
 set hidden
 set laststatus=2
 set splitbelow
 set splitright
 set grepprg=grep\ -nH\ $*
 set modelines=1      " CVE-2007-2438
 set backspace=2      " more powerful backspacing
 
 syntax enable
 colorscheme solarized
 
70e8006a
 "if &term =~ "xterm\\|rxvt"
 "  " use an orange cursor in insert mode
 "  let &t_SI = "\<Esc>]12;blue\x7"
 "  " use a red cursor otherwise
 "  let &t_EI = "\<Esc>]12;yellow\x7"
 "  silent !echo -ne "\033]12;yellow\007"
 "  " reset cursor when vim exits
 "  autocmd VimLeave * silent !echo -ne "\033]112\007"
 "  " use \003]12;gray\007 for gnome-terminal
 "endif
 
 ""SmartIndent for Python
 "autocmd BufEnter *.hs compiler ghc
 "au FocusLost * :wa
6ff9befd
 
9186a1f5
 function! Checkft()
6ff9befd
   if &filetype==""
     filetype detect
   endif
 endfunction
 
 
 " when we reload, tell vim to restore the cursor to the saved position
 "autocmd FileType python map K \pW
 autocmd! BufNewFile * silent! 0r ~/.vim/skel/tmpl.%:e
70e8006a
 "autocmd BufRead,BufNewFile *.twig set filetype=htmljinja
 "autocmd BufRead,BufNewFile *.mako set ft=mako
 "autocmd BufRead,BufNewFile *.md set dictionary+=/usr/share/dict/words ft=markdown
 "autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
 "autocmd BufRead,BufNewFile *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
 "autocmd BufRead,BufNewFile *.tac set ft=python
6ff9befd
 autocmd bufwritepost * call Checkft()
70e8006a
 "autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
6ff9befd
 
 "autocmd FileType haskell set omnifunc=necoghc#omnifunc
 autocmd FileType lisp set omnifunc=SlimvOmniComplete
 autocmd FileType markdown set linebreak tw=110 noexpandtab nosmartindent autoindent spelllang=en spell
 "autocmd FileType pandoc set linebreak tw=110 noexpandtab nosmartindent autoindent
 "autocmd FileType pantondoc set linebreak tw=110 noexpandtab nosmartindent autoindent
 autocmd FileType python set complete+=k~/.vim/syntax/python.vim "isk+=.,(
 "Diable the anti-python smart indent of #
 inoremap  # X#
 
 "Turn Syntax Highlighting on by default, and assume the xterm background is black
 imap <C-g> :Unite outline -buffer-name=outline -start-insert<CR>
 imap <F7> :Unite outline -buffer-name=outline -start-insert<CR>
 imap <F8> o
:,!pbpaste
 imap <F9> o
:,!pbpaste
 inoremap <expr> <C-L> ListItem()
 inoremap <expr> <C-R> ListReset()
 inoremap <F2> :set nonumber! foldcolumn=0<CR>
 inoremap <F3> :!spot_control pr<CR>
 inoremap <F4> :!spot_control p<CR><CR>
 inoremap <F5> :!spot_control n<CR>
 inoremap <Return> <Return><C-g>u
 "inoremap <Space> <Space><C-g>u
 "inoremap <Tab> <Tab><C-g>u
 
 map <BS> dh
 map <C-g> :Unite outline -buffer-name=outline -start-insert<CR>
 map CS :sil! :%s/\s\+$//g<CR>``:%s/^\(\t\+\)\( \+\(\t*\)\)\+/\1\3/gc<CR>``
 map <F7> :Unite outline -buffer-name=files -start-insert<CR>
 map <F8> o
:,!pbpaste<CR>
 map <F9> o
:,!pbpaste<CR>
 map <leader>f :Unite file -buffer-name=files -start-insert<CR>
 map <leader>q :Unite buffer -buffer-name=buffers -start-insert<CR>
 map W wb"_dwP
 map ZX :wq<cr>
 map ZZ :w<CR>
 
 nmap <Leader>ci <Plug>VCSCommit
70e8006a
 nnoremap <C-h> <C-W><C-H>
 nnoremap <C-j> <C-W><C-J>
 nnoremap <C-k> <C-W><C-K>
 nnoremap <C-l> <C-W><C-L>
6ff9befd
 nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>
 
 func ListItem()
  let g:counter += 1
  return g:counter
 endfunc
 
 func ListReset()
  let g:counter = 0
  return ''
 endfunc
 
 set diffopt=vertical,filler,iwhite,foldcolumn:0
 
 highlight PmenuSel ctermfg=LightGray  ctermbg=DarkRed
 
 if filereadable(".vim.custom")
     so .vim.custom
 endif
 
 let g:syntastic_javascript_checkers = ['jshint']
 call unite#custom#source('file,file/new,buffer,file_rec','matchers','matcher_fuzzy')
 
 autocmd FileType unite call s:unite_my_settings()
 function! s:unite_my_settings()
   " Overwrite settings.
   let b:SuperTabDisabled=1
   imap <buffer><expr> <C-v>     unite#do_action('vsplit')
   imap <buffer><expr> <C-s>     unite#do_action('split')
   imap <buffer>  <Tab>     <Plug>(unite_complete)
   imap <buffer> <C-j>   <Plug>(unite_select_next_line)
   imap <buffer> <Down>   <Plug>(unite_select_next_line)
   imap <buffer> <C-k>   <Plug>(unite_select_previous_line)
   imap <buffer> <Up>   <Plug>(unite_select_previous_line)
 
   " exit with esc
   nmap <buffer> <ESC> <Plug>(unite_exit)
 
   " exit with ctrl-c
   imap <buffer> <c-c> <Plug>(unite_exit)
   nmap <buffer> <c-c> <Plug>(unite_exit)
 endfunction
 
 if executable('ag')
   let g:unite_source_file_async_command = 'ag --follow --nocolor --nogroup --hidden -g "" --ignore ''.sass-cache'''
   "https://github.com/ggreer/the_silver_searcher
   "Use ag in unite grep source.
   let g:unite_source_rec_async_command = ['ag', '--follow', '--nocolor', '--nogroup', '--hidden', '-g', '', '--ignore', '.git', '--ignore', '.sass-cache']
   let g:unite_source_rec_async_command = ['ag', '--follow', '--nocolor', '--nogroup', '--hidden', '-g', '', '--ignore', '.git', '--ignore', '.sass-cache']
   let g:unite_source_grep_command = 'ag'
   let g:unite_source_grep_default_opts =
         \ '--line-numbers --nocolor --nogroup --hidden --ignore ' .
         \ '''.hg'' --ignore ''.svn'' --ignore ''.git'' --ignore ''.bzr'' ' .
         \ '--ignore ''**/*.pyc'''
   let g:unite_source_grep_recursive_opt = ''
 elseif executable('ack-grep')
   let g:unite_source_grep_command = 'ack-grep'
   " Match whole word only. This might/might not be a good idea
   let g:unite_source_grep_default_opts = '--no-heading --no-color -a -H'
   "let g:unite_source_grep_default_opts = '--no-heading --no-color -a -w'
   let g:unite_source_grep_default_opts = '--exclude ''\.(git|svn|hg|bzr)'''
   let g:unite_source_grep_recursive_opt = ''
 elseif executable('ack')
   let g:unite_source_grep_command = 'ack'
   let g:unite_source_grep_default_opts = '--no-heading --no-color -a -w'
   let g:unite_source_grep_default_opts = '--exclude ''\.(git|svn|hg|bzr)'''
   let g:unite_source_grep_recursive_opt = ''
 endif
 
 nnoremap [unite] <Nop>
 nmap <space> [unite]
70e8006a
 
 nmap                 [unite]s :<C-u>Unite -auto-preview grep:.<C-m>
 nmap                 [unite]o :<C-u>Unite outline -start-insert<C-m>
 nmap                 [unite]f :<C-u>Unite file_rec/async -start-insert<C-m>
 nmap                 [unite]F :<C-u>Unite file -start-insert<C-m>
 nmap                 [unite]g :<C-u>Unite file_rec/git -start-insert<C-m>
 nmap                 [unite]j :<C-u>Unite buffer -start-insert<C-m>
 nmap                 [unite]k :<C-u>Unite tab:no-current<C-m>
 
 nmap                 [unite]t :NERDTreeToggle<CR>
 nmap                 [unite]u :GundoToggle<CR>
 "nmap                 [unite]r :!vagrant rsync<CR>
 nmap                 [unite]h :set hlsearch!<CR>
 nmap                 [unite]l :set list!<CR>
 nmap <silent> <expr> [unite]z FS_ToggleFoldAroundSearch({'context':2})
 nmap          <expr> [unite]x FS_ToggleFoldAroundSearch({'context':0})
 nmap                 [unite]w :let @/='\<<C-r><C-w>\>'<CR>:set hlsearch<CR>
 nmap                 [unite]r :s/<C-r><C-w>/<C-r>=input('replacement? ').'/g'<CR>
 nmap                 [unite]R :%s/<C-r><C-w>/<C-r>=input('replacement? ').'/g'<CR>
 
 nmap                 <C-x>o <C-w><C-w>
 
 :autocmd BufRead,BufNewFile .vimrc nmap [unite]1 /\(["].*\)\@<!\<[ni]\?\(no\)\?\(re\)\?map\><cr> x
6ff9befd
 
 " Reload
 map <silent> tu :call GHC_BrowseAll()<CR>
 " Type Lookup
 map <silent> tw :call GHC_ShowType(1)<CR>
 autocmd BufRead,BufNewFile *.css,*.scss,*.less setlocal foldmethod=marker foldmarker={,}
70e8006a
 autocmd BufRead,BufNewFile *.php setlocal breakindent breakindentopt=sbr,shift:7,min:5
6ff9befd
 
 command -nargs=+ Gadd Git add <q-args>
6728cae8
 " set runtimepath+=/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim
70e8006a
 au BufNewFile,BufRead *.phn set filetype=clojure
9186a1f5
 
8337824e
 if has('python')
9186a1f5
 python << EOF
 import os
 import sys
 import vim
 for p in sys.path:
     if os.path.isdir(p):
         vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
 EOF
8337824e
 endif
 if has('python3')
 python3 << EOF
 import os
 import sys
 import vim
 for p in sys.path:
     if os.path.isdir(p):
         vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
 EOF
 endif