" Plugin management set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' " Explorer Plugin 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " File search Plugin 'ctrlpvim/ctrlp.vim' " Class explorer Plugin 'majutsushi/tagbar', { 'on': 'TagbarToggle' } " Status Line Plugin 'vim-airline/vim-airline' " Intelligent folding Plugin 'tmhedberg/SimpylFold' " Git management Plugin 'tpope/vim-fugitive' " Autocomplete for python Plugin 'davidhalter/jedi-vim' " Asynchronous syntax check Plugin 'dense-analysis/ale' " Color schemes Plugin 'morhetz/gruvbox' " Code completion using Plugin 'ervandew/supertab' call vundle#end() filetype plugin indent on " Syntax syntax enable let python_highlight_all=1 set number set cursorline set showmatch set laststatus=2 " Always display statusline set background=dark let g:gruvbox_contrast_dark='hard' colorscheme gruvbox " Indentation set tabstop=4 set softtabstop=4 set shiftwidth=0 set textwidth=79 set autoindent set smarttab autocmd filetype python set expandtab au BufNewFile,BufRead *.js, *.html, *.css \ set tabstop=2 \ set softtabstop=2 \ set shiftwidth=2 " Display set list set list listchars=tab:▷⋅,trail:⋅,nbsp:⋅ " set nowrap set hlsearch set incsearch set foldlevel=3 set colorcolumn=80 " Behaviour set hidden " Keep previous buffer when opening a new file set wildmenu " Sexy autocomplete " Mappings let mapleader="," map h map j map k map l nnoremap za nmap :w:!clear;python3 % nmap :!%:p nmap :NERDTreeToggle nmap :TagbarToggle " Plugin Ale packloadall silent! helptags ALL let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'javascript': ['eslint'], \ 'python': ['add_blank_lines_for_python_control_statements', 'autopep8', 'isort'] \} " Other Plugin let g:SimpylFold_docstring_preview=1 let g:airline#extensions#tabline#enabled=1 let g:airline_powerline_fonts=1