summaryrefslogtreecommitdiffstats
path: root/neovim/.config/nvim/init.vim
blob: f78de5818c844abcbf56599faca62b7e204c0411 (plain)
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
call plug#begin('~/.local/share/nvim/plugged')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'tomasr/molokai'
Plug '/usr/share/vim/vimfiles/'
Plug 'junegunn/fzf.vim'
Plug 'fatih/vim-go'
Plug 'zchee/deoplete-go', { 'do': 'make'}
call plug#end()

colorscheme molokai

set hidden " allow leaving unsaved buffer
set relativenumber
set cursorline
set tabstop=4 " render tabs as 4 spaces
set autochdir
set scrolloff=1
set title

set wrap
set textwidth=79
set formatoptions=qrn1
set colorcolumn=81
set shiftwidth=4
set softtabstop=4

" statusline
set statusline=   " clear the statusline for when vimrc is reloaded
set statusline+=[%n]\                          " buffer number
set statusline+=%f\                            " file name
set statusline+=%h%m%r%w                       " flags
set statusline+=%=                             " right align
set statusline+=[%{strlen(&ft)?&ft:'none'},    " filetype
set statusline+=%{strlen(&fenc)?&fenc:&enc}]\  " encoding
set statusline+=%-14.(%l,%c%V%)\ %<%P          " offset

" shortcuts
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
nnoremap <S-Tab> %
let mapleader = ","
nnoremap <leader><space> :noh<cr>

" vim go
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_highlight_interfaces = 1
let g:go_highlight_operators = 1
let g:go_highlight_build_constraints = 1
let g:go_fmt_command = "goimports"

" deoplete
let g:deoplete#enable_at_startup = 1
let g:deoplete#sources#go#gocode_binary = $GOPATH.'/bin/gocode'

" fzf
nnoremap <c-b> :Buffers<cr>
nnoremap <c-f> :Files<cr>