dotfiles/vim/vimrc
Josh Sherman 29c9ab308a
[vim] <Leader>b to better brace matching
Jumps to the end of the line and then does the matching from there.
Saves the extra jump when trying to jump between conditionals that use
braces
2017-04-15 12:38:33 -05:00

180 lines
4.2 KiB
VimL

filetype detect
filetype plugin on
filetype indent on
set autoindent
set autoread
set background=dark
set backspace=eol,start,indent
set colorcolumn=80,120
set cursorline
set encoding=utf8
set expandtab
set foldmethod=marker
set hidden
set history=1000
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set lazyredraw
set list
set listchars=tab:└─,trail:•
set magic
set mat=2
set nocindent
set nocompatible
set noerrorbells
set novisualbell
set number
set pastetoggle=<F2>
set relativenumber
set shiftwidth=2
set showmatch
set showmode
set smartcase
set smartindent
set so=7
set softtabstop=2
set t_Co=256
set tabstop=2
set textwidth=0
set title
set tm=500
set ttyfast
set undolevels=1000
set wildmenu
set wildmode=list:longest
autocmd BufNewFile,BufRead *.cnf,*.conf,*gitconfig set filetype=dosini
autocmd BufNewFile,BufRead *.dust,*.dustjs,*.tl set filetype=dustjs
autocmd BufNewFile,BufRead *.less set filetype=less
autocmd BufNewFile,BufRead nginx.conf set filetype=nginx
autocmd BufNewFile,BufRead *.yaml,*.yml,*gemrc set filetype=yaml
autocmd BufNewFile,BufRead *.handlebars set filetype=html.handlebars syntax=mustache
autocmd FileType go setlocal noexpandtab
autocmd FileType php setlocal smartindent tabstop=4 shiftwidth=4 softtabstop=4
autocmd FileType markdown,text setlocal nosmartindent textwidth=80 wrapmargin=2
"autocmd VimEnter,BufNewFile,BufReadPost * silent! call HardMode()
set backupdir=~/.vim/backup//,/tmp
set directory=~/.vim/swap//,/tmp
set undodir=~/.vim/undo//,/tmp
set undofile
filetype plugin indent on
syntax enable
set background=dark
colorscheme solarized
augroup ExtraWhitespace
autocmd BufEnter * highlight ExtraWhitespace ctermbg=DarkRed ctermfg=white
autocmd BufEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhiteSpace /\s\+$/
augroup END
let g:bufferline_echo = 0
autocmd VimEnter *
\ let &statusline='%{bufferline#refresh_status()}'
\ .bufferline#get_status_string()
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let b:match_words = '<:>,<tag>:</tag>'
let g:SuperTabDefaultCompletionType = 'context'
let mapleader = "\<Space>"
nnoremap <Leader>o :CtrlP<CR>
nnoremap <Leader>w :w<CR>
nnoremap <Leader>q :q<CR>
nnoremap <Leader>d :bd<CR>
vmap v <Plug>(expand_region_expand)
vmap <C-v> <Plug>(expand_region_shrink)
vnoremap // y/<C-R>"<CR>
nmap <silent> ,/ :nohlsearch<CR>
nmap <Leader>h ^
nmap <Leader>j gg
nmap <Leader>k G
nmap <Leader>l $
nmap <Leader>b $%
nnoremap <Leader>[ :bprevious<CR>
nnoremap <Leader>] :bnext<CR>
nmap <Leader>1 :buffer 1<CR>
nmap <Leader>2 :buffer 2<CR>
nmap <Leader>3 :buffer 3<CR>
nmap <Leader>4 :buffer 4<CR>
nmap <Leader>5 :buffer 5<CR>
nmap <Leader>6 :buffer 6<CR>
nmap <Leader>7 :buffer 7<CR>
nmap <Leader>8 :buffer 8<CR>
nmap <Leader>9 :buffer 9<CR>
nmap <Leader>0 :buffer 10<CR>
nnoremap <Leader>f :set nolist<CR>
nnoremap <Leader>F :set list<CR>
nnoremap <Leader>c :w<CR>:!wc %<CR>
nnoremap <Leader>v :so ~/.vim/vimrc<CR>
nnoremap <Leader>ss / $<CR>
nnoremap <Leader>tt /\t$<CR>
nnoremap <Leader>n <Esc>:call ToggleLineNumbers()<CR>
syntax on
syntax sync fromstart
let g:ctrlp_follow_symlinks = 2
" Ignore some folders and files for CtrlP indexing
let g:ctrlp_custom_ignore = {
\ 'dir': '\.git$\|\.yardoc\|public$|log\|tmp$',
\ 'file': '\.so$\|\.dat$|\.DS_Store$'
\ }
set gcr=a:block
" mode aware cursors
set gcr+=o:hor50-Cursor
set gcr+=n:Cursor
set gcr+=i-ci-sm:InsertCursor
set gcr+=r-cr:ReplaceCursor-hor20
set gcr+=c:CommandCursor
set gcr+=v-ve:VisualCursor
set gcr+=a:blinkon0
hi InsertCursor ctermfg=15 guifg=#fdf6e3 ctermbg=37 guibg=#2aa198
hi VisualCursor ctermfg=15 guifg=#fdf6e3 ctermbg=125 guibg=#d33682
hi ReplaceCursor ctermfg=15 guifg=#fdf6e3 ctermbg=65 guibg=#dc322f
hi CommandCursor ctermfg=15 guifg=#fdf6e3 ctermbg=166 guibg=#cb4b16
function ToggleLineNumbers()
if !&number || &relativenumber
set number!
set relativenumber!
else
set number
set relativenumber
endif
endfunction