You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

258 lines
6.2 KiB
VimL

set nocompatible
" Vundle stuff
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'groenewege/vim-less'
Bundle 'digitaltoad/vim-jade'
Bundle 'pangloss/vim-javascript'
Bundle 'kchmck/vim-coffee-script'
Bundle 'jQuery'
Bundle 'vim-ruby/vim-ruby'
Bundle 'tpope/vim-rails'
Bundle 'tpope/vim-repeat'
Bundle 'tpope/vim-surround'
Bundle 'tpope/vim-fugitive'
Bundle 'tpope/vim-endwise'
" Bundle 'tpope/vim-unimpared'
Bundle 'mileszs/ack.vim'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'bkad/CamelCaseMotion'
Bundle 'majutsushi/tagbar'
Bundle 'scrooloose/syntastic'
Bundle 'scrooloose/nerdcommenter'
" Bundle 'scrooloose/nerdtree'
Bundle 'altercation/vim-colors-solarized'
" Bundle 'ervandew/supertab'
Bundle 'kien/ctrlp.vim'
Bundle 'gregsexton/MatchTag'
" Bundle 'closetag'
Bundle 'kana/vim-smartinput'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'mbbill/undotree'
Bundle 'coderifous/textobj-word-column.vim'
" Bundle 'myusuf3/numbers'
Bundle 'benmills/vimux'
Bundle 'lukaszkorecki/workflowish'
Bundle 'searchfold.vim'
Bundle 'godlygeek/tabular'
Bundle 'kshenoy/vim-signature'
"Bundle 'SirVer/ultisnips'
Bundle 'fmoralesc/vim-pad'
Bundle 'lukerandall/haskellmode-vim'
Bundle 'bitc/vim-hdevtools'
" Bundle 'Shougo/neocomplcache'
Bundle 'airblade/vim-gitgutter'
let $GIT_SSL_NO_VERIFY = 'true'
filetype plugin indent on " last Vundle requirement
" Powerline weirdness
set rtp+=/usr/local/lib/python2.7/site-packages/powerline/bindings/vim
" mouse
if has("mouse")
set mouse=a
set ttymouse=xterm
endif
" general goodness
set shell=/bin/bash " Syntastic breaks when trying to write to /var/folders
syntax enable
let mapleader=","
let maplocalleader="\\"
set hidden " allow hidden unsaved buffers
set history=1000 " longer history
set noswapfile " turn off swapfiles
set number " line numbers
"set relativenumber " TODO make a command to toggle this. <leader>n maybe..
set showcmd " show the command as it is typed
set showmode
set wildmenu
set backspace=indent,eol,start
set ttyfast
"set wildmode=longest:full
set wildmode=list:longest " try this on for a while
set autoread " when a file is changed externally
set ruler
set cursorline " Highlight current line
set encoding=utf-8 " Necessary to show unicode glyphs
set laststatus=2 " Always show the statusline
set scrolloff=5 " Give us a few lines before and after the cursor
" long lines
set wrap
set formatoptions=rqn1
set textwidth=80
if version > 702
set colorcolumn=80
endif
" persistent undo
if v:version > 703
set undodir=~/.vim/undodir
set undofile
endif
" indentation
set autoindent
set smartindent
" search
set hlsearch
set incsearch
set ignorecase
set gdefault " now substitutions assume /g
set smartcase " if we include uppercase, it will be case sensitive
set showmatch " matching brackets
set matchtime=2 " blink brackets
" turn off highlighting
nnoremap <silent><leader><space> :noh<cr>
" regex " thanks stevelosh
set magic
" tab stops
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set smarttab
" pretty line endings and trailing spaces
set list
set listchars=tab:»·,trail,eol
" so we get html goodies in php files
au BufRead *.php set ft=php.html
au BufNewFile *.php set ft=php.html
set thesaurus+=~/.wordlists/mthesaur.txt
set dictionary+=/usr/share/dict/words
" hide toolbar in macvim, etc
if has("gui_running")
set gfn=Terminus\ 8
set go=-t
endif
" Powerline
let g:Powerline_symbols='fancy'
" Colors
"set background=dark
" colorscheme default
" Solarized
set background=dark
let g:solarized_termtrans=1
let g:solarized_termcolors=256 "default value is 16
let g:solarized_contrast="high" "default value is normal
let g:solarized_visibility="high" "default value is normal
let g:solarized_diffmode="high" "default value is normal
let g:solarized_hitrail=1 "default value is 0
colorscheme solarized
" NERDTree
"nnoremap <silent> <leader>n :NERDTreeToggle <cr>
"let NERDTreeMinimalUI=1
"let NERDTreeDirArrows=1
" Tagbar
nnoremap <silent><leader>t :TagbarToggle <cr>
" disable tagbar in old Vim
if v:version < 703
let g:loaded_tagbar=1
endif
" Syntastic
if v:version > 700
let g:syntastic_enable_signs=1
let g:syntastic_auto_loc_list=1
else
let g:loaded_syntastic_plugin=1
endif
nnoremap <leader>S :SyntasticToggleMode<cr>
" Supertab
" let g:SuperTabDefaultCompletionType="context"
" UltiSnpis
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
" open the current file for edit in Perforce
nnoremap <silent><leader>4 :! p4 edit %<cr>
" open vsplit and switch to it
nnoremap <leader>v <c-w>v<c-w>l
" trim whitespace
nnoremap <leader>W :%s/\s\+$//e<cr>
" Ack
nnoremap <leader>a :Ack<space>
" use ag
let g:ackprg = 'ag --nogroup --nocolor --column'
" Marked
nnoremap <leader>m :silent !open -a Marked.app '%:p'<cr>
" Clam
" nnoremap ! :Clam<space>
" Buffer selection
nnoremap <leader>l :ls<cr>:b<space>
" Set the max files
"let g:ctrlp_max_files = 10000
let g:ctrlp_clear_cache_on_exit = 0
" Workflowish stuff. Search for #todo
nnoremap <silent><leader>T :vimgrep /\v^\s*\*+.*#todo.*/i %<cr>:copen<cr>:30wincmd _<cr>
nnoremap <silent><leader>TT /\v^\s*\*+.*#todo.*/i<cr>
" Vimux stuff
nnoremap <silent><leader><leader>vp :VimuxPromptCommand<cr>
nnoremap <silent><leader><leader>vl :VimuxRunLastCommand<cr>
nnoremap <silent><leader><leader>vi :VimuxInspectRunner<cr>
nnoremap <silent><leader><leader>vq :VimuxCloseRunner<cr>
nnoremap <silent><leader><leader>vs :VimuxInterruptRunner<cr>
nnoremap <silent><leader><leader>vx :VimuxClosePanes<cr>
nnoremap <silent><leader><leader>vc :VimuxClearRunnerHistory<cr>
" Vim-Pad
let g:pad_dir = "~/Dropbox/notes/"
let g:pad_search_backend = "ack"
" Haskellmode
let g:ghc = "/usr/bin/ghc"
let g:haddock_browser = "open"
let g:haddock_browser_callformat = "%s %s"
" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menu,preview,longest
" Undotree
nnoremap <leader>u :UndotreeToggle<cr>
" Move between splits
map <c-j> <c-w>j<c-w>_
map <c-k> <c-w>k<c-w>_
map <c-l> <c-w>l<c-w>_
map <c-h> <c-w>h<c-w>_
" NeoComplCache
" let g:neocomplcache_enable_at_startup = 1
" hdevtools
nnoremap <leader>ht :HdevtoolsType<cr>
nnoremap <leader>hc :HdevtoolsClear<cr>
nnoremap <leader>hi :HdevtoolsInfo<cr>