-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc.local
246 lines (199 loc) · 6.69 KB
/
.vimrc.local
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
"Настройки цветов
"set background=dark
set background=light
"color moloka
let g:airline_theme='solarized'
"
"Нулевая задержка на последовательности через map
set ttimeout
set timeoutlen=1000 ttimeoutlen=0
let s:tbg = &background
if s:tbg == "light"
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=4
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=252
else
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=24
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=4
endif
set autoread
autocmd! bufwritepost $MYVIMRC source $MYVIMRC
"В командном режиме удалять через BACKSPACE
nnoremap <bs> X
noremap <F2> :w<cr>
noremap! <F2> <esc>:w<cr>i
noremap <F5> :BufExplorer<CR>
noremap! <F5> <esc>:BufExplorer<CR>
" F6 - предыдущий буфер
noremap <F6> :bprevious<cr>
noremap! <F6> <esc>:bprevious<cr>i
" F7 - следующий буфер
noremap <F7> :bnext<cr>
noremap! <F7> <esc>:bnext<cr>i
" Tab navigation like Firefox.
"nnoremap <C-S-tab> :tabprevious<CR>
"nnoremap <C-left> :tabprevious<CR>
"noremap <C-tab> :tabnext<CR>
"noremap <C-right> :tabnext<CR>
"nnoremap <C-t> :tabnew<CR>
"inoremap <C-left> <Esc>:tabprevious<CR>i
"inoremap <C-S-tab> <Esc>:tabprevious<CR>i
"inoremap <C-tab> <Esc>:tabnext<CR>i
"inoremap <C-right> <Esc>:tabnext<CR>i
"noremap <C-t> <Esc>:tabnew<CR>
nnoremap th :tabfirst<CR>
nnoremap tj :tabnext<CR>
nnoremap tk :tabprev<CR>
nnoremap tl :tablast<CR>
nnoremap tt :tabedit<CR>
nnoremap tn :tabnew<CR>
nnoremap tm :tabm<CR>
nnoremap td :windo bd<CR>
nnoremap bd :Bclose<CR>
nmap <leader>1 <Plug>AirlineSelectTab1
nmap <leader>2 <Plug>AirlineSelectTab2
nmap <leader>3 <Plug>AirlineSelectTab3
nmap <leader>4 <Plug>AirlineSelectTab4
nmap <leader>5 <Plug>AirlineSelectTab5
nmap <leader>6 <Plug>AirlineSelectTab6
nmap <leader>7 <Plug>AirlineSelectTab7
nmap <leader>8 <Plug>AirlineSelectTab8
nmap <leader>9 <Plug>AirlineSelectTab9
nmap <leader>- <Plug>AirlineSelectPrevTab
nmap <leader>+ <Plug>AirlineSelectNextTab
"Отключаем стрелки для обучения
noremap <Up> <Nop>
noremap <Down> <Nop>
noremap <Left> <Nop>
noremap <Right> <Nop>
inoremap <Up> <Nop>
inoremap <Down> <Nop>
inoremap <Left> <Nop>
inoremap <Right> <Nop>
"Better window navigation
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
inoremap jk <esc>
nnoremap <space> i<space><esc>
imap <C-l> <Esc>$a
"Изменения размеров окна (шаг)
nnoremap <silent> <Leader>+ :exe "resize " . (winheight(0) * 3/2)<CR>
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
if mapcheck("<C-e>") != ''
execute "unmap <C-e>"
endif
"map <silent> <c-w> :NERDTreeFind<CR>
map <silent> <leader>E <plug>NERDTreeTabsToggle<CR>
nnoremap <silent> <Leader>bd :Bclose<CR>
nnoremap <silent> <Leader>gk :Gitv<CR>
nnoremap <silent> <Leader>gK :Gitv!<CR>
set fileformat=unix
set noswapfile
set encoding=utf-8
set lazyredraw
set shiftwidth=2 " Use indents of 4 spaces
set expandtab " Tabs are spaces, not tabs
set tabstop=2 " An indentation every four columns
set softtabstop=2 " Let backspace delete indent
"set guifont=Consolas:h12
let windows10=$WINDOWS10
if windows10 == '0'
set t_ku=(ctrl+v , UP arrow)
set t_kd=(ctrl+v , DOWN arrow)
set t_kr=(ctrl+v , RIGHT arrow)
set t_kl=(ctrl+v , LEFT arrow)
endif
"function! ChangeBG()
"let s:tbg = &background
"" Inversion
"if s:tbg == "dark"
"set background=light
"hi IndentGuidesOdd ctermbg=white
"hi IndentGuidesEven ctermbg=lightgrey
"else
"set background=dark
"hi IndentGuidesOdd ctermbg=3
"hi IndentGuidesEven ctermbg=4
"endif
"endfunction
if $TMUX != ''
set clipboard=
endif
map <Leader>bg :call ChangeBG() <CR>
map <Leader>gm :Merginal<CR>
"Автообновление и сохранение
au FocusGained,BufEnter * :silent! !
"au BufEnter,VimEnter * :AirlineRefresh
"map <Leader>gm :CtrlPModified<CR>
"map <Leader>gM :CtrlPBranch<CR>
set shell=sh
"autocmd FileType javascript noremap <buffer> <c-f> :call JsBeautify()<cr>
"" for json
"autocmd FileType json noremap <buffer> <c-f> :call JsonBeautify()<cr>
"" for jsx
"autocmd FileType javascript.jsx noremap <buffer> <c-f> :call JsxBeautify()<cr>
"" for html
"autocmd FileType html noremap <buffer> <c-f> :call HtmlBeautify()<cr>
"" for css or scss
"autocmd FileType css noremap <buffer> <c-f> :call CSSBeautify()<cr>"
"autocmd FileType javascript vnoremap <buffer> <c-f> :call RangeJsBeautify()<cr>
"autocmd FileType json vnoremap <buffer> <c-f> :call RangeJsonBeautify()<cr>
"autocmd FileType javascript.jsx vnoremap <buffer> <c-f> :call RangeJsxBeautify()<cr>
"autocmd FileType html vnoremap <buffer> <c-f> :call RangeHtmlBeautify()<cr>
"autocmd FileType css vnoremap <buffer> <c-f> :call RangeCSSBeautify()<cr>
"augroup plugin_vim_jsbeautify
"autocmd!
"autocmd BufEnter *.jsx nnoremap <buffer> <c-f> :call JsxBeautify()<cr>
"autocmd BufEnter *.jsx vnoremap <buffer> <c-f> :call RangeJsxBeautify()<cr>
"augroup END
"let g:config_Beautifier = {}
"let g:config_Beautifier['js'] = {}
"let g:config_Beautifier['js'].indent_size = '2'
"
"Make AG command to run Ack from project root
cnoreabbrev ag Gcd <bar> Ack!
"
"git branch | sed -n -e 's/^\* \(.*\)/\1/p'
au FileType rust nmap rd <Plug>(rust-def)
au FileType rust nmap rs <Plug>(rust-def-split)
au FileType rust nmap rx <Plug>(rust-def-vertical)
au FileType rust nmap <leader>rd<Plug>(rust-doc)
autocmd GUIEnter * set vb t_vb=
set noerrorbells
set vb t_vb=
noremap <F3> :Autoformat<CR>
noremap! <F3> <esc>:Autoformat<CR>
noremap <F4> :SyntasticCheck<CR>
noremap! <F4> <esc>:SyntasticCheck<CR>
"Подстветка ошибок и предупреждений по разному
highlight link SyntasticError SpellBad
highlight link SyntasticWarning SpellCap
"Кастомизация цветов синтаксис
"hi SpellBad ctermfg=white ctermbg=green
"Попытка сделать переход по node файлам в vsplit
"autocmd User Node
"\ if &filetype == "javascript" |
"\ nmap <buffer> <C-w>f <Plug>NodeVSplitGotoFile |
"\ nmap <buffer> <C-w><C-f> <Plug>NodeVSplitGotoFile |
"\ endif
nnoremap <Leader>ss :CtrlPObsession<CR>
let s:hidden_all = 0
function! ToggleHiddenAll()
if s:hidden_all == 0
let s:hidden_all = 1
set noshowmode
set noruler
set laststatus=0
set noshowcmd
else
let s:hidden_all = 0
set showmode
set ruler
set laststatus=2
set showcmd
endif
endfunction
nnoremap <Leader>h :call ToggleHiddenAll()<CR>
nnoremap <silent> <Leader>b :CtrlPBuffer<CR>
nnoremap <silent> <Leader>m :CtrlPMRU<CR>