diff vimrc @ 0:36a9b3a28861

Add all dotfiles
author zegervdv <zegervdv@me.com>
date Sun, 23 Feb 2014 17:20:32 +0100
parents
children 44d3af8838f8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vimrc	Sun Feb 23 17:20:32 2014 +0100
@@ -0,0 +1,336 @@
+set nocompatible
+set laststatus=2
+set noshowmode
+
+execute pathogen#infect()
+
+set backspace=2
+set autowrite
+
+set vb
+set guioptions-=r
+set guioptions-=l
+set guioptions-=R
+set guioptions-=L
+
+syntax on
+set expandtab
+set number
+set ruler
+set nocursorline
+set showmatch
+set title
+set wrap
+set wrapmargin=2
+set linebreak
+set lbr
+set tabstop=2 shiftwidth=2
+color hybrid
+set guifont=Inconsolata\ for\ Powerline:h12
+set autowrite
+set hidden
+set hlsearch
+set incsearch
+set ignorecase
+set smartcase
+set smartindent
+set autoindent
+set scrolloff=4
+set textwidth=80
+
+set history=100
+set wildmenu
+
+set diffopt+=iwhite
+
+set formatoptions=
+set formatoptions+=c " Format comments
+set formatoptions+=r " Continue comments by default
+set formatoptions+=o " Make comment when using o or O from comment line
+set formatoptions+=q " Format comments with gq
+set formatoptions+=n " Recognize numbered lists
+set formatoptions+=2 " Use indent from 2nd line of a paragraph
+set formatoptions+=l " Don't break lines that are already long
+set formatoptions+=1 " Break before 1-letter words
+
+set splitright
+set virtualedit=block
+set conceallevel=0
+
+set cryptmethod=blowfish
+
+filetype plugin indent on
+autocmd FileType ruby set tabstop=2|set shiftwidth=2
+
+set clipboard=unnamed
+
+
+map <Leader>d  :bp<bar>sp<bar>bn<bar>bd<CR>
+
+" See long lines as line breaks
+map j gj
+map k gk
+
+" remap tag-search to better place
+nmap <C-$> <C-]>
+
+" Jump to end of line in insert mode
+inoremap <C-e> <C-o>A
+
+" Jump one character in insert mode
+inoremap <C-f> <C-o>l
+
+" Very Magic search patterns
+nmap / /\v
+cmap s/ s/\v
+
+
+inoremap £ \
+
+nnoremap <SPACE> <C-e>
+
+" Close Quickfix window (,qq)
+map <leader>qq :cclose<CR>
+
+nnoremap <silent> n   n:call HLNext(0.4)<cr>
+nnoremap <silent> N   N:call HLNext(0.4)<cr>
+
+function! HLNext (blinktime)
+    highlight WhiteOnRed ctermfg=white ctermbg=red guifg=white guibg=red
+    let [bufnum, lnum, col, off] = getpos('.')
+    let matchlen = strlen(matchstr(strpart(getline('.'),col-1),@/))
+    let target_pat = '\c\%#'.@/
+    let ring = matchadd('WhiteOnRed', target_pat, 101)
+    redraw
+    exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
+    call matchdelete(ring)
+    redraw
+endfunction
+
+" Swap v and CTRL-V
+nnoremap    v   <C-V>
+nnoremap <C-V>     v
+
+vnoremap    v   <C-V>
+vnoremap <C-V>     v
+
+" Use backspace as delete in visual mode
+vmap <BS> x
+
+" Keep selection when shifting
+vmap <expr> > KeepVisualSelection(">")
+vmap <expr> < KeepVisualSelection("<")
+
+function! KeepVisualSelection(cmd)
+    set nosmartindent
+    if mode() ==# "V"
+        return a:cmd . ":set smartindent\<CR>gv"
+    else
+        return a:cmd . ":set smartindent\<CR>"
+    endif
+endfunction
+
+let g:indent_guides_auto_colors = 0
+let g:indent_guides_guide_size = 1
+highlight IndentGuidesEven guibg=background
+highlight IndentGuidesOdd guibg='#282a2e'
+
+" Visual Block Dragging
+vmap  <expr>  H  DVB_Drag('left')
+vmap  <expr>  L  DVB_Drag('right')
+vmap  <expr>  J  DVB_Drag('down')
+vmap  <expr>  K  DVB_Drag('up')
+vmap  <expr>  D  DVB_Duplicate()
+let g:DVB_TrimWS = 1
+
+" Show trailing whitespaces
+" exec "set listchars=tab:\uBB\uBB,trail:\uB7,nbsp:~"
+" set list
+
+" Vim Math plugin; make simple calculations
+vmap <expr>  ++  VMATH_YankAndAnalyse()
+nmap         ++  vip++
+
+" Airline configuration
+let g:airline_inactive_collapse=0
+let g:airline_powerline_fonts=1
+
+let g:airline_left_sep = ''
+let g:airline_right_sep = ''
+
+let g:airline_theme = 'tomorrow'
+
+let g:airline#extensions#syntastic#enabled = 0
+
+nnoremap <F5> :buffers<CR>:buffer<Space>
+noremap <C-TAB> <C-w><C-w>
+
+" Set leader to ,
+let mapleader = ","
+
+" Custom key mappings
+
+let g:yankring_replace_n_pkey = 'cp'
+
+" Nerdtree
+map <F2> :NERDTreeToggle<CR>
+map <Leader>e :NERDTreeToggle<CR>
+let NERDTreeIgnore = ['\.aux$', '\.log$', '\.out$']
+
+" Vim - Rspec
+map <leader>t :call RunCurrentSpecFile()<CR>
+map <leader>s :call RunNearestSpec()<CR>
+map <leader>l :call RunLastSpec()<CR>
+map <leader>r :call RunAllSpecs()<CR>
+
+" Cucumber
+map <leader>f :call RunAllFeatures()<CR>
+map <leader>k :call RunCurrentFeature()<CR>
+
+" Autocomplete
+inoremap <C-Space> <C-N>
+
+" Single char insertion
+" nmap <Space> i_<Esc>r
+
+" Clear highlight
+nnoremap <silent> <leader>n :nohlsearch<CR>
+
+" ctrl p - Fuzzy file finder
+noremap <C-p> :CtrlP<CR>
+let g:ctrl_map = '<c-p>'
+let g:ctrl_cmd = 'CtrlP'
+
+map <C-l> :CtrlPBuffer<CR>
+map <C-m> :CtrlPTag<CR>
+
+" ctrl p - Commands
+map <leader>p :CtrlPCmdPalette<CR>
+
+" Markdown
+let g:vim_markdown_folding_disabled=1
+
+" tComment remap
+nmap <leader>c <C-_><C-_>
+
+" Neo Complete
+let g:acp_enableAtStartup=0
+let g:neocomplete#enable_at_startup=1
+let g:neocomplete#enable_smart_case=1
+let g:neocomplete#sources#syntax#min_keyword_length=3
+let g:neocomplete#lock_buffer_name_pattern = '\*ku\*'
+
+" Define dictionary.
+let g:neocomplete#sources#dictionary#dictionaries = {
+    \ 'default' : '',
+    \ 'vimshell' : $HOME.'/.vimshell_hist',
+    \ 'scheme' : $HOME.'/.gosh_completions'
+        \ }
+" Recommended key-mappings.
+" <CR>: close popup and save indent.
+inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
+function! s:my_cr_function()
+  return neocomplete#close_popup() . "\<CR>"
+  " For no inserting <CR> key.
+  "return pumvisible() ? neocomplete#close_popup() : "\<CR>"
+endfunction
+" <TAB>: completion.
+inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"
+" <C-h>, <BS>: close popup and delete backword char.
+inoremap <expr><C-h> neocomplete#smart_close_popup()."\<C-h>"
+
+autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
+autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
+autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
+autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
+autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
+autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
+ if !exists('g:neocomplete#sources#omni#input_patterns')
+    let g:neocomplete#sources#omni#input_patterns = {}
+  endif
+
+" Neo Snippets
+imap <C-k> <Plug>(neosnippet_expand_or_jump)
+smap <C-k> <Plug>(neosnippet_expand_or_jump)
+xmap <C-k> <Plug>(neosnippet_expand_target)
+
+imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
+      \ "\<Plug>(neosnippet_expand_or_jump)"
+      \: pumvisible() ? "\<C-n>" : "\<TAB>"
+smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
+      \ "\<Plug>(neosnippet_expand_or_jump)"
+      \: "\<TAB>"
+let g:neocomplete#sources#omni#input_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
+
+let g:neosnippet#snippets_directory='~/.vim/snippets'
+
+" Tabular
+inoremap <silent> <Bar>   <Bar><Esc>:call <SID>align()<CR>a
+
+function! s:align()
+  let p = '^\s*|\s.*\s|\s*$'
+  if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
+    let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
+    let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
+    Tabularize/|/l1
+    normal! 0
+    call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
+  endif
+endfunction
+
+" Align Migration files
+vmap <c-a> :Tabularize /:/l1l0l0<CR>
+
+nmap <Leader>a= :Tabularize /=<CR>
+vmap <Leader>a= :Tabularize /=<CR>
+nmap <Leader>a=> :Tabularize /=><CR>
+vmap <Leader>a=> :Tabularize /=><CR>
+nmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
+vmap <Leader>a: :Tabularize /:\zs/l0l1<CR>
+nmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
+vmap <Leader>a, :Tabularize /,\zs/l0l1<CR>
+vmap <Leader>a- :Tabularize /-<CR>
+
+
+
+augroup markdown
+    au!
+    au BufNewFile,BufRead *.md,*.markdown setlocal filetype=ghmarkdown
+augroup END
+
+
+" Latex plugin
+au BufNewFile,BufRead,BufEnter *.tex setlocal spell spelllang=en_gb
+au BufNewFile,BufRead,BufEnter *.tex setlocal textwidth=0
+au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb
+au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0
+
+let g:tex_conseal = ""
+
+let g:tex_comment_nospell=1
+let g:Tex_DefaultTargetFormat = 'pdf'
+let g:tex_flavor = 'latex'
+let g:Tex_TreatMacViewerAsUNIX = 1
+let g:Tex_ExecuterUNIXViewerInForeground = 1
+let g:Tex_ViewRule_pdf = 'open -a Preview'
+let g:Tex_ViewRule_ps = 'open -a Preview'
+
+" Tagbar mapping
+nmap <F8> :TagbarToggle<CR>
+
+" The silver searcher
+" let g:ackprg = 'ag --nogroup --nocolor --column'
+
+" Multiple cursor insert
+let g:multi_cursor_next_key='<C-n>'
+let g:multi_cursor_prev_key='<C-m>'
+let g:multi_cursor_skip_key='<C-x>'
+let g:multi_cursor_quit_key='<Esc>'
+
+" Gundo tree
+nnoremap <leader>u :GundoToggle<CR>
+
+" Yank ring
+nnoremap <silent> <leader>y :YRShow<CR>
+
+let g:livepreview_previewer = 'open -a Preview'