git.fiddlerwoaroof.com
.nvimrc
6728cae8
 set t_kb=
 
7304bd7d
 let g:python_host_prog = '/usr/bin/python'
 let g:python3_host_prog = '/usr/bin/python3'
cadd99bf
 
 "NeoBundle Scripts-----------------------------
 if has('vim_starting')
   set nocompatible               " Be iMproved
 
   " Required:
907e4c93
   set runtimepath+=$HOME/.config/nvim/bundle/neobundle.vim/
cadd99bf
 endif
 
 " Required:
907e4c93
 call neobundle#begin(expand("$HOME/.config/nvim/bundle"))
cadd99bf
 
 " Let NeoBundle manage NeoBundle
 " Required:
 NeoBundleFetch 'Shougo/neobundle.vim'
 
 " My Bundles here:
 NeoBundle 'altercation/vim-colors-solarized'
 NeoBundle 'bitc/vim-hdevtools'
 NeoBundle 'Blackrush/vim-gocode'
 NeoBundle 'bling/vim-airline'
 NeoBundle 'burnettk/vim-angular'
 NeoBundle 'christoomey/vim-tmux-navigator'
 NeoBundle 'curist/vim-angular-template'
7304bd7d
 NeoBundle 'edsono/vim-matchit'
cadd99bf
 NeoBundle 'exu/pgsql.vim'
7304bd7d
 NeoBundle 'fiddlerwoaroof/htmljinja'
 NeoBundle 'fiddlerwoaroof/vim-jinja'
cadd99bf
 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'
7304bd7d
 "NeoBundle 'm2mdas/phpcomplete-extended'
 NeoBundle 'markcornick/vim-vagrant'
cadd99bf
 NeoBundle 'matthewsimo/angular-vim-snippets'
7304bd7d
 NeoBundle 'mattn/emmet-vim.git'
cadd99bf
 NeoBundle 'msanders/snipmate.vim'
 NeoBundle 'othree/javascript-libraries-syntax.vim'
 NeoBundle 'pangloss/vim-javascript'
7304bd7d
 "NeoBundle 'rking/ag.vim' "Ag search utility
 NeoBundle 'rust-lang/rust.vim'
cadd99bf
 NeoBundle 'scrooloose/nerdcommenter'
7304bd7d
 NeoBundle 'scrooloose/nerdtree'
cadd99bf
 NeoBundle 'scrooloose/syntastic'
 NeoBundle 'Shougo/unite-outline'
 NeoBundle 'Shougo/unite.vim'
 NeoBundle 'Shougo/vimfiler.vim'
 NeoBundle 'Shougo/vimproc'
 NeoBundle 'Shougo/vimshell.vim'
7304bd7d
 NeoBundle 'simnalamburt/vim-mundo'
cadd99bf
 NeoBundle 'sjl/vitality.vim'
 NeoBundle 'sophacles/vim-bundle-mako'
 NeoBundle 'terryma/vim-multiple-cursors'
 NeoBundle 'tpope/vim-fireplace'
 NeoBundle 'tpope/vim-fugitive'
 NeoBundle 'tpope/vim-repeat'
 NeoBundle 'tpope/vim-surround'
7304bd7d
 "NeoBundle 'Valloric/YouCompleteMe'
cadd99bf
 NeoBundle 'vim-pandoc/vim-pandoc'
 NeoBundle 'vim-scripts/dbext.vim'
7304bd7d
 NeoBundle 'vim-scripts/php.vim--Garvin'
cadd99bf
 NeoBundle 'vim-scripts/pydoc.vim'
 NeoBundle 'vim-scripts/VimClojure'
 NeoBundle 'vim-voom/VOoM'
 NeoBundle 'ytsunetsune/unite-outline-euslisp'
7304bd7d
 
 NeoBundle 'neovimhaskell/haskell-vim'
 NeoBundle 'enomsg/vim-haskellConcealPlus'
 NeoBundle 'eagletmt/ghcmod-vim'
 NeoBundle 'eagletmt/neco-ghc'
 NeoBundle 'Twinside/vim-hoogle'
cadd99bf
 
6728cae8
 " If there are uninstalled bundles found on startup,
 " this will conveniently prompt you to install them.
 NeoBundleCheck
 "End NeoBundle Scripts-------------------------
 
cadd99bf
 " Required:
 call neobundle#end()
 
 " Required:
 filetype plugin indent on
 
7304bd7d
 
 set mouse= ";; Disable mouse sensitivity !!!
cadd99bf
 set nohlsearch
 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 
7304bd7d
 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"]
cadd99bf
 let g:pandoc_no_empty_implicits=1
 let g:pandoc_use_hard_wraps = 1
7304bd7d
 let g:phpcomplete_index_composer_command = "composer"
cadd99bf
 let g:slimv_disable_clojure=1
 let g:snips_author="Edward Langley"
 let g:solarized_termtrans=1
7304bd7d
 let g:sql_type_default = 'pgsql'
 let g:syntastic_auto_loc_list=1
cadd99bf
 let g:syntastic_python_checkers = ['python']
7304bd7d
 let g:syntastic_scss_sass_args = "-r sass-css-importer -r susy"
cadd99bf
 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
7304bd7d
 " This goes here in case a filetype overrides it
cadd99bf
 
 
 " 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
 set autoindent
 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>
7304bd7d
 set undodir=~/.nvim/undodir
cadd99bf
 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
 
 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
 
 function Checkft()
   if &filetype==""
     filetype detect
   endif
 endfunction
 
7304bd7d
 " when we reload, tell vim to restore the cursor to the saved position
 "autocmd FileType python map K \pW
 autocmd! BufNewFile * silent! 0r ~/.nvim/skel/tmpl.%:e
 autocmd BufRead,BufNewFile *.twig set filetype=htmljinja
 autocmd BufRead,BufNewFile *.mako set ft=mako
 autocmd BufRead,BufNewFile *.md set dictionary+=/usr/share/dict/words
cadd99bf
 autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
7304bd7d
 autocmd BufRead,BufNewFile *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
 autocmd BufRead,BufNewFile *.tac set ft=python
cadd99bf
 autocmd bufwritepost * call Checkft()
7304bd7d
 autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
 
 autocmd FileType haskell set omnifunc=necoghc#omnifunc
 autocmd FileType lisp set omnifunc=SlimvOmniComplete
cadd99bf
 autocmd FileType markdown set linebreak tw=110 noexpandtab nosmartindent autoindent
 autocmd FileType pandoc set linebreak tw=110 noexpandtab nosmartindent autoindent
 autocmd FileType pantondoc set linebreak tw=110 noexpandtab nosmartindent autoindent
7304bd7d
 autocmd FileType python set complete+=k~/.nvim/syntax/python.vim "isk+=.,(
cadd99bf
 "Diable the anti-python smart indent of #
 inoremap  # X#
 
 "Turn Syntax Highlighting on by default, and assume the xterm background is black
7304bd7d
 imap <C-g> :Unite outline -buffer-name=outline -start-insert<CR>
 imap <F7> :Unite outline -buffer-name=outline -start-insert<CR>
cadd99bf
 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
7304bd7d
 map <C-g> :Unite outline -buffer-name=outline -start-insert<CR>
cadd99bf
 map CS :sil! :%s/\s\+$//g<CR>``:%s/^\(\t\+\)\( \+\(\t*\)\)\+/\1\3/gc<CR>``
7304bd7d
 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>
cadd99bf
 map W wb"_dwP
 map ZX :wq<cr>
 map ZZ :w<CR>
 
 nmap <Leader>ci <Plug>VCSCommit
 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>
 nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>
 
7304bd7d
 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
cadd99bf
 
 
 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
 
7304bd7d
 if filereadable(".nvim.custom")
     so .nvim.custom
cadd99bf
 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')
7304bd7d
   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_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 = ''
cadd99bf
 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]
 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>
7304bd7d
 nmap [unite]k :<C-u>Unite tab:no-current<C-m>
 nmap [unite]h :<C-u>set hlsearch!<C-m>
 nmap [unite]t :<C-u>NERDTreeToggle<CR>
 nmap [unite]u :<C-u>GundoToggle<CR>
 nmap [unite]r :<C-u>!vagrant rsync<CR>
6728cae8
 nmap [unite]R      <C-W>t:buffer REPL<CR>
cadd99bf
 
 " 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={,}