call plug#begin('~/.vim/plugged') Plug 'Smirnov-O/nten16.vim' Plug 'itchyny/lightline.vim' Plug 'jiangmiao/auto-pairs' Plug 'maxboisvert/vim-simple-complete' Plug 'pangloss/vim-javascript' Plug 'airblade/vim-gitgutter' Plug 'dense-analysis/ale' "Plug 'editorconfig/editorconfig-vim' call plug#end() "== General " Appearance set termguicolors colorscheme nten16 " Line numbers set nu rnu " Line wrap set nowrap nolinebreak " Tabs set tabstop=4 set shiftwidth=4 set softtabstop=4 set smarttab set expandtab set autoindent " Status line "set laststatus=0 set noshowmode showcmd set ruler " Mouse set mouse=a set mousehide set cursorline " Encoding set encoding=utf-8 set fileencodings=utf-8 " Backup file & history set nobackup noswapfile set history=100 " Search set incsearch set ignorecase set smartcase " Buffer set hidden " Spell checker set spell spelllang=en_us " Space/tab indicator set list listchars=tab:>·,trail:~,extends:>,precedes:<,space:· " Disable sound set visualbell t_vb= " == Settings for specific files autocmd BufWritePre *.py normal m`:%s/\s\+$//e `` autocmd FileType python,go setlocal expandtab shiftwidth=4 tabstop=4 autocmd FileType html,css,javascript setlocal expandtab shiftwidth=2 tabstop=2 "== Aliases command! W :w command! Q :q command! Wq :wq command! WQ :wq command! Prettier :!prettier % command! ESlint :!eslint % "== Plug in configuration let g:lightline = { \ 'colorscheme': 'nten16', \ 'active': { \ 'left': [ [ 'mode', 'paste' ], \ [ 'readonly', 'modified' ] ], \ 'right': [ [ 'lineinfo' ], \ [ 'percent' ], \ [ 'filename', 'filetype' ] ] \ }, } let g:ale_disable_lsp = 1 let g:ale_sign_error = '> ' let g:ale_sign_warning = '- ' let g:ale_echo_msg_format = '%severity%: %s' let g:ale_linter = { \ 'javascript': 'eslint', \ 'python': 'flake8' \ } let g:ale_fix_on_save = 1 let g:ale_fixers = { \ 'javascript': 'prettier', \ 'python': 'black' \ } "== Mapping let mapleader="'" " Window noremap :wincmd h noremap :wincmd j noremap :wincmd k noremap :wincmd l noremap :wincmd K noremap :wincmd L noremap :wincmd n " Tab noremap :tabnew noremap :tabclose noremap :tabn 1 noremap :tabn 2 noremap :tabn 3 noremap :tabn 4 noremap :tabn 5 noremap :tabn 6 noremap :tabn 7 noremap :tabn 8 noremap :tabn 9 " Buffer noremap :bnext noremap :bprev " Work with system clipboard noremap c "*y noremap v "+p