|
@@ -0,0 +1,124 @@
|
|
1
|
+call plug#begin('~/.config/nvim/plugged')
|
|
2
|
+
|
|
3
|
+Plug 'bufkill.vim' " dont close the window when killing a buffer
|
|
4
|
+Plug 'airblade/vim-gitgutter' " display modified lines
|
|
5
|
+Plug 'kien/ctrlp.vim' " ctrl-p opens a fuzzy file opener
|
|
6
|
+"Plug 'scrooloose/syntastic' " syntax checking
|
|
7
|
+Plug 'neomake/neomake'
|
|
8
|
+Plug 'sjl/gundo.vim' " graphical undo tree
|
|
9
|
+Plug 'bling/vim-airline' " fancy status line
|
|
10
|
+Plug 'Lokaltog/vim-distinguished'
|
|
11
|
+Plug 'majutsushi/tagbar'
|
|
12
|
+Plug 'scrooloose/nerdtree'
|
|
13
|
+Plug 'wellle/targets.vim'
|
|
14
|
+"Plug 'http://git.vhdltool.com/vhdl-tool/syntastic-vhdl-tool.git'
|
|
15
|
+Plug 'SirVer/ultisnips'
|
|
16
|
+Plug 'honza/vim-snippets'
|
|
17
|
+Plug 'junegunn/vim-easy-align'
|
|
18
|
+Plug 'Yggdroot/indentLine'
|
|
19
|
+Plug 'tpope/vim-fugitive'
|
|
20
|
+
|
|
21
|
+call plug#end()
|
|
22
|
+
|
|
23
|
+syntax on " syntax highlighting
|
|
24
|
+map ; :
|
|
25
|
+
|
|
26
|
+set backspace=2 " nvim, by default, doesn't backspace over lines, fix this
|
|
27
|
+set tabstop=4 " a tab is 4 columns
|
|
28
|
+set shiftwidth=4 " the number of spaces inserted for TAB
|
|
29
|
+set expandtab " convert tabs to spaces
|
|
30
|
+set number " line numbers
|
|
31
|
+set incsearch " incremental search
|
|
32
|
+set ignorecase " ignore case when searching (see smartcase)
|
|
33
|
+set smartcase " do not ignore case if pattern has mixed case (see ignorecase)
|
|
34
|
+set hid " do not ask to save the current buffer when opening/switching to another buffer
|
|
35
|
+set scrolloff=3 " show at least 3 lines either side of the cursor
|
|
36
|
+set laststatus=2 " display a status line
|
|
37
|
+
|
|
38
|
+"CtrlP configuration
|
|
39
|
+let g:ctrlp_map = '<c-p>'
|
|
40
|
+let g:ctrlp_cmd = 'CtrlPMixed'
|
|
41
|
+nnoremap <c-b> :CtrlPBuffer<CR>
|
|
42
|
+
|
|
43
|
+"recommended Gundo configuration
|
|
44
|
+nnoremap <F5> :GundoToggle<CR>
|
|
45
|
+
|
|
46
|
+" Airline
|
|
47
|
+let g:airline#extensions#tabline#enabled=1
|
|
48
|
+
|
|
49
|
+" Color scheme settings
|
|
50
|
+set background=dark
|
|
51
|
+colorscheme distinguished
|
|
52
|
+
|
|
53
|
+let g:tagbar_type_vhdl = {
|
|
54
|
+ \ 'ctagsbin': 'vhdl-tool',
|
|
55
|
+ \ 'ctagsargs': 'ctags -o -',
|
|
56
|
+ \ 'ctagstype': 'vhdl',
|
|
57
|
+ \ 'kinds' : [
|
|
58
|
+ \'d:prototypes',
|
|
59
|
+ \'b:package bodies',
|
|
60
|
+ \'e:entities',
|
|
61
|
+ \'a:architectures',
|
|
62
|
+ \'t:types',
|
|
63
|
+ \'p:processes',
|
|
64
|
+ \'f:functions',
|
|
65
|
+ \'r:procedures',
|
|
66
|
+ \'c:constants',
|
|
67
|
+ \'T:subtypes',
|
|
68
|
+ \'r:records',
|
|
69
|
+ \'C:components',
|
|
70
|
+ \'P:packages',
|
|
71
|
+ \'l:locals',
|
|
72
|
+ \'i:instantiations',
|
|
73
|
+ \'s:signals',
|
|
74
|
+ \'v:variables:1:0'
|
|
75
|
+ \ ],
|
|
76
|
+ \ 'sro' : '::',
|
|
77
|
+ \ 'kind2scope' : {
|
|
78
|
+ \ 'a' : 'architecture',
|
|
79
|
+ \ 'b' : 'packagebody',
|
|
80
|
+ \ 'P' : 'package',
|
|
81
|
+ \ 'p' : 'process'
|
|
82
|
+ \ },
|
|
83
|
+ \ 'scope2kinds' : {
|
|
84
|
+ \ 'architecture' : 'a',
|
|
85
|
+ \ 'packagebody' : 'b',
|
|
86
|
+ \ 'package' : 'P',
|
|
87
|
+ \ 'process' : 'p'
|
|
88
|
+ \ }
|
|
89
|
+\}
|
|
90
|
+
|
|
91
|
+" Recommended syntastic configuration
|
|
92
|
+"set statusline+=%#warningmsg#
|
|
93
|
+"set statusline+=%{SyntasticStatuslineFlag()}
|
|
94
|
+"set statusline+=%*
|
|
95
|
+
|
|
96
|
+"let g:syntastic_always_populate_loc_list = 1
|
|
97
|
+"let g:syntastic_auto_loc_list = 1
|
|
98
|
+"let g:syntastic_check_on_open = 1
|
|
99
|
+"let g:syntastic_check_on_wq = 0
|
|
100
|
+"
|
|
101
|
+"let g:syntastic_vhdl_checkers = ['vhdltool']
|
|
102
|
+
|
|
103
|
+set cscopequickfix=s+,c+,d+,i+,t+,e+
|
|
104
|
+
|
|
105
|
+let g:neomake_open_list = 2
|
|
106
|
+autocmd! BufWritePost,BufRead * Neomake
|
|
107
|
+let g:neomake_vhdl_vhdltool_maker = {
|
|
108
|
+ \ 'exe': 'vhdl-tool',
|
|
109
|
+ \ 'args': ['client', 'lint'],
|
|
110
|
+ \ 'errorformat': '%f:%l:%c:%t:%m',
|
|
111
|
+ \ }
|
|
112
|
+let g:neomake_vhdl_enabled_makers = ['vhdltool']
|
|
113
|
+
|
|
114
|
+hi search ctermbg=LightBlue
|
|
115
|
+
|
|
116
|
+" Start interactive EasyAlign in visual mode (e.g. vipga)
|
|
117
|
+xmap ga <Plug>(EasyAlign)
|
|
118
|
+" Start interactive EasyAlign for a motion/text object (e.g. gaip)
|
|
119
|
+nmap ga <Plug>(EasyAlign)
|
|
120
|
+
|
|
121
|
+let g:easy_align_delimiters = {
|
|
122
|
+\ ':': { 'pattern': ':', 'left_margin': 1, 'right_margin': 1, 'stick_to_left': 0 },
|
|
123
|
+\ }
|
|
124
|
+
|