-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.vim
More file actions
645 lines (518 loc) · 20.3 KB
/
init.vim
File metadata and controls
645 lines (518 loc) · 20.3 KB
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
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
"lineas primordiales, estas lineas son para indicar en el archivo de vim que
"use esta configuracion
"^ con ALT + 94 ^
"set runtimepath^=~/.vim runtimepath+=~/.vim/after
"let &packpath=&runtimepath
"source ~/.vimrc
"Ahora si a configurar
"
" ********************************************************************************************
"~ Intalamos Plugins con el manejador de plug-ig, e indicamos donde guardamos nuestros plugin
" ********************************************************************************************
call plug#begin('~/.local/share/nvim/plugged')
"install my theme
Plug 'morhetz/gruvbox', {'as' : 'gruvbox'}
"instalamos el ease motion
Plug 'easymotion/vim-easymotion'
"nos permite navegar, saltar a otro punto desde nuestro codigo de manera sencilla
"instalamos nerdTree
Plug 'scrooloose/nerdtree' "este es en si el nerd tree
Plug 'Xuyuanp/nerdtree-git-plugin' "instalar los plug para el uso del nerdtree
Plug 'PhilRunninger/nerdtree-visual-selection' "muestra cierta opciones visuales en la ventanas del nerdtree
" mas plugs para Nerd tree
Plug 'jistr/vim-nerdtree-tabs' " para el manejo de pestanas en nerdtree
Plug 'majutsushi/tagbar' " Para navegar entre pestatas; configurar para que trabajo fluido luego
" Read the docs: https://github.com/preservim/tagbar
"agregando el autocompletado
Plug 'neoclide/coc.nvim', {'branch': 'release'}
"para que la barra inferior sea bonita
Plug 'vim-airline/vim-airline'
"el tema de la barra inferior
Plug 'vim-airline/vim-airline-themes'
"para ver iconos en mis navegaciones
Plug 'ryanoasis/vim-devicons'
"mostrar errores
Plug 'dense-analysis/ale'
" PAra identacion grafica
Plug 'lukas-reineke/indent-blankline.nvim'
" Para mantener los paquetes de vim bootstrap sobre los lenguajes que uso
Plug 'editor-bootstrap/vim-bootstrap-updater'
""~ Snippets for lenguage
Plug 'xolox/vim-misc'
"Plug 'xolox/vim-session'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
" c
Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']}
Plug 'ludwig/split-manpage.vim'
" html
"" HTML Bundle
Plug 'hail2u/vim-css3-syntax'
Plug 'gko/vim-coloresque'
Plug 'tpope/vim-haml'
Plug 'mattn/emmet-vim'
" javascript
"" Javascript Bundle
Plug 'jelera/vim-javascript-syntax'
" python
"" Python Bundle
Plug 'davidhalter/jedi-vim'
Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'}
" rust
" Vim racer
Plug 'racer-rust/vim-racer'
" Rust.vim
Plug 'rust-lang/rust.vim'
" Async.vim
Plug 'prabirshrestha/async.vim'
" Vim lsp
Plug 'prabirshrestha/vim-lsp'
" Asyncomplete.vim
Plug 'prabirshrestha/asyncomplete.vim'
" Asyncomplete lsp.vim
Plug 'prabirshrestha/asyncomplete-lsp.vim'
" typescript
Plug 'leafgarland/typescript-vim'
Plug 'HerringtonDarkholme/yats.vim'
" manejo de seciones
Plug 'rmagatti/auto-session'
" Use release branch (recommended)
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Or build from source code by using npm
Plug 'neoclide/coc.nvim', {'branch': 'master', 'do': 'npm ci'}
"######################### End Call PlugIn
call plug#end()
"*****************************************************************************
""~ Vim-Plug core, lineas rocomendadas de boostrap-vim
"*****************************************************************************
let vimplug_exists=expand('~/.config/nvim/autoload/plug.vim')
if has('win32')&&!has('win64')
let curl_exists=expand('C:\Windows\Sysnative\curl.exe')
else
let curl_exists=expand('curl')
endif
let g:vim_bootstrap_langs = "c,html,javascript,python,rust,typescript"
let g:vim_bootstrap_editor = "nvim"
let g:vim_bootstrap_theme = "gruvbox"
let g:vim_bootstrap_frams = ""
if !filereadable(vimplug_exists)
if !executable(curl_exists)
echoerr "You have to install curl or first install vim-plug yourself!"
execute "q!"
endif
echo "Installing Vim-Plug..."
echo ""
silent exec "!"curl_exists" -fLo " . shellescape(vimplug_exists) . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
let g:not_finish_vimplug = "yes"
autocmd VimEnter * PlugInstall
endif
"*****************************************************************************
""~ configuracion base / base config
"*****************************************************************************
set numberwidth=3
"indica el ancho de los numeros del costado IZQ
syntax enable
"para habilitar la sintaxis de la linea superior dentro de vim
syntax on
"para habilitar los colores de sintansix fuera del tema, o los que trae
"definidos nvim por default
set showcmd
"muertra los comando que se estan usando
set ruler
"muestra lo poscicion en la parte inferior derecha linea,caracter
set cursorline
"muestra la linea dek lugar donde se ubica el cursor
set showmatch
"muestra el parentesis pareja
set sw=2
"para identar con dos espacios
set relativenumber
"depende de la pocicion del cursor indic a la pocicion
"para arriba y abajo con cero en la ubicacion
set laststatus=2 "para que la barra inferior siempre sea visible
set shiftwidth=2
set tabstop=2
"para la identacion siempre sea de 4 espacion
set expandtab
"hace que los tabuladores se comviertan en espacios
set autoindent
"para que cuando demos click la siguiente linea se autoidente
"automaticamente
filetype indent on
"permite insertar tabulaciones de manera que cuando venga la siguiente
"linea me permita seguir alli y/o conservar el identado que se lleva
set hidden
"este oculta elementos no necesarios a la hora de autocmopletar
set guifont=DroidSansMono_Nerd_Font:h11
"esta es para que la fuente del nerdtree no se desborde
set foldmethod=syntax
"este es para permitir los plieges, segun la sintansix de la aplicacion.
"como uso C# deberia de funcionar con las regiones, queda de maravilla..
"ahora deberia de configuarra mi tecla leader para esto
"End of basic config
set background=dark
"aqui activamos los efectos visuales de un fondo oscuro
set ignorecase
" para que ignore direfencia entre MAY y min
set nohlsearch
"segun solo resalta las proximas busquedas
"Permite la integración del mouse (seleccionar texto, mover el cursor)
set mouse=a
"" Encoding
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8
"" Fix backspace indent
set backspace=indent,eol,start
"" Tabs. May be overridden by autocmd rules
set tabstop=4
set softtabstop=0
set shiftwidth=4
set expandtab
"" Enable hidden buffers
set hidden
"" indica que debe de reconocer los finales de archivos de estos SO
set fileformats=unix,dos,mac
" Resalta la linea de trabajo actual
autocmd CursorHold * silent call CocActionAsync('highlight')
"" manejo de shell
if exists('$SHELL')
set shell=$SHELL
else
set shell=/bin/sh
endif
"~: session management
lua << EOF
require("auto-session").setup {
log_level = "error",
auto_session_enabled = true,
auto_save_enabled = true,
auto_restore_enabled = true,
session_dir = vim.fn.stdpath("config") .. "/sessions/"
}
EOF
"~: configuracion de la identacion
lua << EOF
require("ibl").setup {
scope = {
enabled = true, -- <- activa modo "scope"
show_start = true, -- <- no muestra símbolo especial al inicio del bloque
show_end = true, -- <- no muestra símbolo especial al final
highlight = { "Function", "Label" }, -- <- puedes cambiar o personalizar colores
},
indent = {
char = "│", -- <- o usa "|" si prefieres algo más simple
},
exclude = {
filetypes = { "help", "terminal", "dashboard" },
}
}
EOF
"*****************************************************************************
""~ esta configuracion la recomieda la gente de COC el autocompletar.
"*****************************************************************************
"## === para los autocmpletados del coc. === ##
"esta es la lista de los elementos que se instalan si no existen en el sistema
let g:coc_global_extensions=[ 'coc-explorer', 'coc-eslint', 'coc-omnisharp', 'coc-angular', 'coc-html', 'coc-json', 'coc-tsserver', 'coc-tsserver', 'coc-tslint', 'coc-tslint-plugin', 'coc-snippets' ]
" Use tab for trigger completion with characters ahead and navigate.
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
" other plugin before putting this into your config.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
if has('nvim')
inoremap <silent><expr> <c-@> coc#refresh()
else
inoremap <silent><expr> <c-@> coc#refresh()
endif
" Make <CR> auto-select the first completion item and notify coc.nvim to
" format on enter, <cr> could be remapped by other vim plugin
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" Use `[g` and `]g` to navigate diagnostics
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window.
nnoremap <silent> ; :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
elseif (coc#rpc#ready())
call CocActionAsync('doHover')
else
execute '!' . &keywordprg . " " . expand('<cword>')
endif
endfunction
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder.
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Applying codeAction to the selected region.
" Example: `<leader>aap` for current paragraph
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap keys for applying codeAction to the current buffer.
nmap <leader>ac <Plug>(coc-codeaction)
" Apply AutoFix to problem on the current line.
nmap <leader>qf <Plug>(coc-fix-current)
" Map function and class text objects
" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
"xmap if <Plug>(coc-funcobj-i)
"omap if <Plug>(coc-funcobj-i)
"omap if <Plug>(coc-funcobj-i)
"xmap af <Plug>(coc-funcobj-a)
"omap af <Plug>(coc-funcobj-a)
"xmap ic <Plug>(coc-classobj-i)
"omap ic <Plug>(coc-classobj-i)
"xmap ac <Plug>(coc-classobj-a)
"omap ac <Plug>(coc-classobj-a)
" Remap <C-f> and <C-b> for scroll float windows/popups.
if has('nvim-0.4.0') || has('patch-8.2.0750')
nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
endif
" Use CTRL-S for selections ranges.
" Requires 'textDocument/selectionRange' support of language server.
nmap <silent> <C-s> <Plug>(coc-range-select)
xmap <silent> <C-s> <Plug>(coc-range-select)
" Add `:Format` command to format current buffer.
command! -nargs=0 Format :call CocAction('format')
" Add `:Fold` command to fold current buffer.
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" Add `:OR` command for organize imports of the current buffer.
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add (Neo)Vim's native statusline support.
" NOTE: Please see `:h coc-status` for integrations with external plugins that
" provide custom statusline: lightline.vim, vim-airline.
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" TODO: esto lo instalo porque me parecion util. buscar utilidad o quitar
" Mappings for CoCList
" Show all diagnostics.
nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions.
nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr>
" Show commands.
nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document.
nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols.
nnoremap <silent><nowait> <space>r :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list.
nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>
"*****************************************************************************
""~ configurando los snippets de coc
"*****************************************************************************
"usando <tab> para seleccionar el snippets
inoremap <silent><expr> <space><space>
\ pumvisible() ? coc#_select_confirm() :
\ coc#expandableOrJumpable() ? "\<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\<CR>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
let g:coc_snippet_next = 'n'
"*****************************************************************************
""~ leader schort || asignacion de mi tecla lider [espacio]
"*****************************************************************************
"asigno mi tecla leader
let mapleader = " "
"*****************************************************************************
""~ Configurraciones de cada plug, theme and shortcuts
"*****************************************************************************
" ## ====================== asigno mis teclas, teclas de uso primitivo
"aqui asingno salto de linea de 10 espacios usando control + movimiento
nmap <C-j> 10j
nmap <C-k> 10k
nmap <C-h> 10h
nmap <C-l> 10l
"asigno los shortcuts para guardar y cerar
nmap <leader>w :w<CR>
nmap <leader>q :q<CR>
nmap <leader>v :v<CR>
"cambiar tamaño de la fuente
let s:fontsize = 14
function! AdjustFontSize(amount)
let s:fontsize = s:fontsize+a:amount
:execute "GuiFont! Consolas:h" . s:fontsize
endfunction
noremap <C-ScrollWheelUp> :call AdjustFontSize(1)<CR>
noremap <C-ScrollWheelDown> :call AdjustFontSize(-1)<CR>
inoremap <C-ScrollWheelUp> <Esc>:call AdjustFontSize(1)<CR>a
inoremap <C-ScrollWheelDown> <Esc>:call AdjustFontSize(-1)<CR>a
" ## === Conf Theme gruvbox === ##
colorscheme gruvbox
let g:gruvbox_contrast_dark = "medium"
let g:deoplete#enable_at_startup = 1
let g:jsx_ext_required = 0
let g:gruvbox_transparent_bg=1
let g:gruvbox_number_column="#1e1129"
let g:gruvbox_italicize_comments = 1
" ### === ### para el easy motion
nmap <leader>s <Plug>(easymotion-s2)
"en teoria al precionar espacio+s; me permite llegar facil a otro punto
" ########################## === ##########################
" para el NERDtree
" ########################## === ##########################
nmap <leader>nt :NERDTreeFind<CR>
"para que se vea el arbolito
let NERDTreeQuitOnOpen=1
"para cerrar el arbol apenas elija un elemento
let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$']
" Organiza los elementos
let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '__pycache__']
" ignoro elementos con estas extenciones
let g:NERDTreeChDirMode=2
"tipo de direcctorio
let g:NERDTreeShowBookmarks=1
"para mostrar los marcadores en caso de que existan
let g:nerdtree_tabs_focus_on_files=1
" Cuando abres un archivo, cambia el enfoque de vuelta al buffer.
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>'
"abre elementos con click derecho
let g:NERDTreeWinSize = 50
" ??
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite
nnoremap <silent> <F2> :NERDTreeFind<CR>
"para buscar o subir los archivbos un ecaldon
nnoremap <silent> <F3> :NERDTreeToggle<CR>
"para cambiar de elemento
"Plug para el plug
"es par la muestra del nerd tree
"esto es para la vistas del las opciones de git a la hora de observar la
"carpeta...
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
"para que muestre las fuentes ya instaldas
let g:NERDTreeGitStatusUseNerdFonts = 1
" para que me muestre los archivos ignorados
let g:NERDTreeGitStatusShowIgnored = 1
" ########################## === ##########################
" ########################## === ##########################
" ### === ### vim-airline
let g:airline_theme = 'minimalist'
let g:airline#extensions#branch#enabled = 1
let g:airline#extensions#ale#enabled = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tagbar#enabled = 1
let g:airline_skip_empty_sections = 1
let g:airline#extensions#virtualenv#enabled = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
if !exists('g:airline_powerline_fonts')
let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '»'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '«'
let g:airline#extensions#branch#prefix = '⤴' "➔, ➥, ⎇
let g:airline#extensions#readonly#symbol = '⊘'
let g:airline#extensions#linecolumn#prefix = '¶'
let g:airline#extensions#paste#symbol = 'ρ'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.whitespace = 'Ξ'
else
let g:airline#extensions#tabline#left_sep = ''
let g:airline#extensions#tabline#left_alt_sep = ''
" powerline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
endif
" ### === ### dense-analysis/ale
let g:ale_linters = {}
" ale
:call extend(g:ale_linters, {
\'python': ['flake8'], })
" vim-airline
let g:airline#extensions#virtualenv#enabled = 1
"*****************************************************************************
"" Custom configs for lenguages
"*****************************************************************************
" c
autocmd FileType c setlocal tabstop=4 shiftwidth=4 expandtab
autocmd FileType cpp setlocal tabstop=4 shiftwidth=4 expandtab
" html
" for html files, 2 spaces
autocmd Filetype html setlocal ts=4 sw=4 expandtab
" javascript
let g:javascript_enable_domhtmlcss = 1
" vim-javascript
augroup vimrc-javascript
autocmd!
autocmd FileType javascript setl tabstop=4|setl shiftwidth=4|setl expandtab softtabstop=4
augroup END
" python
" vim-python
augroup vimrc-python
autocmd!
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8 colorcolumn=79
\ formatoptions+=croq softtabstop=4
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with
augroup END
" jedi-vim
let g:jedi#popup_on_dot = 0
let g:jedi#goto_assignments_command = "<leader>g"
let g:jedi#goto_definitions_command = "<leader>d"
let g:jedi#documentation_command = ";"
let g:jedi#usages_command = "<leader>n"
let g:jedi#rename_command = "<leader>r"
let g:jedi#show_call_signatures = "0"
let g:jedi#completions_command = "<C-Space>"
let g:jedi#smart_auto_mappings = 0
" ale
:call extend(g:ale_linters, {
\'python': ['flake8'], })
" vim-airline
let g:airline#extensions#virtualenv#enabled = 1
" Syntax highlight
let python_highlight_all = 1
" typescript
let g:yats_host_keyword = 1
" typescript
let g:yats_host_keyword = 1