call plug#begin("~/.vim/plugged") Plug 'Smirnov-O/nten16.vim' Plug 'sheerun/vim-polyglot' Plug 'jiangmiao/auto-pairs' Plug 'scrooloose/nerdtree' Plug 'w0rp/ale' call plug#end() "== General set termguicolors colorscheme nten16 " Line numbers set nu rnu " Line wrap set linebreak wrap " Tabs set tabstop=4 set shiftwidth=4 set softtabstop=4 set smarttab set expandtab set autoindent " Status line set ruler laststatus=0 " Maximux item in popup set pumheight=8 " Scroll set scrolloff=3 " Mouse set mouse=a set mousehide set cursorline " Encoding set encoding=utf-8 set fileencodings=utf-8 " Backup file & history set nobackup noswapfile noundofile set history=500 " Search set incsearch set ignorecase set smartcase " Enable mode line set modeline " Auto reload file set autoread " Buffer set hidden " Space/tab indicator set list listchars=tab:\|·,trail:~,extends:>,precedes:<,space:· " Disable sound set visualbell t_vb= "== Aliases command! W :w command! Wq :wq command! Term :vs|wincmd L|set nonu nornu|startinsert|term command! Prettier :silent !prettier -w % command! AutoPep8 :silent !autopep8 % --in-place command! Black :silent !black % command! Isort :silent !isort % command! GoFmt :silent !gofmt -w % "== Settings for specific languages autocmd FileType python setlocal ex sw=4 ts=4 autocmd FileType go setlocal noex sw=4 ts=4 autocmd FileType javascript,javascriptreact,yaml setlocal et sw=2 ts=2 "== ALE let g:ale_disable_lsp = 1 let g:ale_sign_info = "•" let g:ale_sign_error = "•" let g:ale_sign_warning = "•" let g:ale_sign_style_error = "•" let g:ale_sign_style_warning = "•" let g:ale_echo_msg_format = '%severity%: %s' let g:ale_linters = { \ 'javascript': ['eslint'], \ 'python': ['flake8'], \ 'go': ['golint'] \ } "== NERDTree let NERDTreeIgnore = ["__pycache__", "*.pyc"] let g:NERDTreeWinPos = "right" let g:NERDTreeMinimalUI = 1 let g:NERDTreeWinSize = 24 "== Mapping let mapleader=";" " NerdTree nnoremap e :NERDTreeToggle " Terminal tnoremap nnoremap t :Term " Alternative keys nnoremap :w nnoremap :tabnew nnoremap :noh " Window nnoremap :wincmd h nnoremap :wincmd j nnoremap :wincmd k nnoremap :wincmd l " Split nnoremap spv :vsp nnoremap sph :sp nnoremap spk :wincmd K nnoremap spl :wincmd L " Tab nnoremap tn :tabnew 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 nnoremap j :bnext nnoremap k :bprev nnoremap c :bdele nnoremap b :buffers " Working with system clipboard noremap c "+y noremap v "+p