blob: 73ad80d1f8609a891b58de8239ae5ad2d173fd58 (
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
" use modern vim
set nocompatible
" netrw
let g:netrw_banner = 0
let g:netrw_keepdir = 0
let g:netrw_liststyle = 3
let g:netrw_sort_options = 'i'
" autostart netrw if vim starts without arguments
"autocmd VimEnter * if !argc() | Explore | endif
" dont use backup files
set nobackup
set nowritebackup
set noswapfile
" allow unsaved buffers
set hidden
" plugin manager
call plug#begin('~/.vim/plugged')
Plug 'airblade/vim-gitgutter'
Plug 'mg979/vim-visual-multi'
Plug 'christoomey/vim-tmux-navigator'
Plug 'w0rp/ale'
Plug 'sickill/vim-monokai'
Plug 'thaerkh/vim-indentguides'
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'mileszs/ack.vim'
Plug 'bling/vim-airline'
Plug 'tpope/vim-fireplace'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'majutsushi/tagbar'
Plug 'xolox/vim-misc'
Plug 'vim-scripts/paredit.vim'
Plug 'ryanoasis/vim-devicons'
"Plug 'tpope/vim-fugitive.git'
"Plug 'severin-lemaignan/vim-minimap'
call plug#end()
filetype plugin indent on
" color theme
syntax enable
colorscheme monokai
" indentation guides
let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_start_level = 2
let g:indent_guides_guide_size = 1
" show line numbers
set number
set relativenumber
" 80 character line length highlight
set colorcolumn=80
" highlight current line
set cursorline
" set tab width and use spaces for tabs
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
" make files use regular tabs
autocmd FileType make set tabstop=4 shiftwidth=8 softtabstop=0 noexpandtab
" enable spell check
"autocmd FileType rst set spell
" gui settings
set linespace=4
set guifont=Droid\ Sans\ Mono:h14
"if exists('g:GuiLoaded')
"GuiTabline 0
"endif
"autocmd UIEnter * GuiTabline 0
" reload vimrc on change
augroup reload_vimrc
autocmd!
autocmd BufWritePost $MYVIMRC source $MYVIMRC
augroup END
" airline configuration
set laststatus=2
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#ale#enabled = 1
" display tabs and trailing spaces
set list
set listchars=tab:»·,trail:·,nbsp:·
" search options
set incsearch
set hlsearch
" backspace in insert mode
set backspace=indent,eol,start
" no sound
set visualbell
" set encoding
set encoding=utf-8
set fileencoding=utf-8
setglobal fileencoding=utf-8
" remap Esc
"imap <S-Space> <Esc>
"nmap <S-Space> <Esc>
" show commands
set showcmd
" file format
set fileformats=unix,dos
" gitgutter configuration
let g:gitgutter_realtime = 1
" function keys map
noremap <F5> :NERDTreeToggle<CR>
noremap <F6> :TagbarToggle<CR>
noremap <F7> :MBEToggle<CR>
noremap <F8> :tabp<CR>
noremap <F9> :tabn<CR>
" center cursor vertically
nnoremap <Leader>zz :let &scrolloff=999-&scrolloff<CR>
" enable mouse
set mouse=a
" ale configuration
let g:ale_linters = {
\ 'python': ['flake8']
\ }
let g:ale_completion_enabled = 1
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
" YouCompleteMe configuration
"let g:ycm_auto_trigger = 0
"let g:ycm_show_diagnostics_ui = 0
" completion options
set completeopt=menuone,preview,noinsert
set omnifunc=ale#completion#OmniFunc
" use ack.vim with ag
let g:ackprg = 'ag --vimgrep'
" disable conceal
autocmd FileType json set conceallevel=0
" ctrlP
"let g:ctrlp_prompt_mappings = {
"\ 'ToggleType(1)': ['<c-p>', '<c-f>', '<c-up>'],
"\ }
|