summaryrefslogtreecommitdiff
path: root/dot_config/nvim/vimrc
blob: 7fbfd25c4beed8b8cc917ba6d19917f60a8e6dae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
set nocompatible

" ---- neovim settings
let g:is_kornshell=1
set clipboard=unnamedplus
set ffs=unix,dos,mac
set hidden
set mat=2
set mouse=a
set nofoldenable
set noswapfile
set number
set showmatch
set smartindent
set termguicolors
set whichwrap+=<,>,h,l
set wrap

" tabs
set expandtab
set shiftwidth=4
set softtabstop=-1
set tabstop=4

" ---- plugin settings
let g:airline_powerline_fonts=1
let g:airline#extensions#tabline#enabled=1
let g:vim_markdown_folding_disabled=1

" ---- plugins
call plug#begin()
" basic functionality
Plug 'flazz/vim-colorschemes'
Plug 'godlygeek/tabular', { 'on': ['Tab', 'Tabularize'] }
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-unimpaired'
" languages
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries', 'for': 'go' }
Plug 'sheerun/vim-polyglot'
" fancy shit
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'airblade/vim-gitgutter'
Plug 'junegunn/goyo.vim', { 'for': 'markdown' }
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'vim-airline/vim-airline'
call plug#end()

" ---- custom mappings
set pastetoggle=<F2> " toggle paste mode

" gt to re-align text based on previous pattern
noremap gt :Tabularize<CR>

" :Sprunge to upload current buffer to sprunge.us
command! Sprunge w !curl -F 'sprunge=<-' http://sprunge.us

" F12 to reparse syntax
noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>

" ---- finalize
if has('nvim')
    set rtp^=/usr/share/vim/vimfiles/ " let neovim piggy back off of vim packages
endif

color pencil