set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " Git plugin not hosted on GitHub Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) " Plugin "file:///$HOME/Code/" " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Install L9 and avoid a Naming conflict if you've already installed a " different version somewhere else. Plugin 'ascenator/L9', {'name': 'newL9'} " Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support Plugin 'dense-analysis/ale' " A Vim plugin for visually displaying indent levels in code Plugin 'nathanaelkane/vim-indent-guides' Plugin 'gmarik/vundle' " Syntastic is a syntax checking plugin Plugin 'scrooloose/syntastic' " A vim plugin to access cheat.sh sheets Plugin 'dbeniamine/cheat.sh-vim' " basic vim/terraform integration Plugin 'hashivim/vim-terraform' " A solid language pack for Vim. support for kotlin, terraform, groovy, ... Plugin 'sheerun/vim-polyglot' " A code-completion engine for Vim Plugin 'Valloric/YouCompleteMe' " lean & mean status/tabline for vim that's light as air Plugin 'vim-airline/vim-airline' " fugitive.vim: A Git wrapper so awesome, it should be illegal Plugin 'tpope/vim-fugitive' " A tree explorer plugin for vim. Plugin 'scrooloose/nerdtree' " A Vim plugin which shows a git diff in the gutter (sign column) and stages/undoes hunks and partial hunks. Plugin 'airblade/vim-gitgutter' " A plugin of NERDTree showing git status Plugin 'Xuyuanp/nerdtree-git-plugin' " All of your Plugins must be added before the following line call vundle#end() filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line " vim-airline options let g:airline_powerline_fonts = 1 " vim-gitgutter options set updatetime=100 " have indent guides enabled by default by vim-indent-guides plugin let g:indent_guides_enable_on_vim_startup = 1 let g:indent_guides_start_level = 2 let g:indent_guides_guide_size = 1 " vim-terraform options let g:terraform_fmt_on_save=1 " dense-analysis/ale options let g:ale_history_log_output = 1 let g:ale_use_global_executables = 1 let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'python': ['black'], \} " Enable syntax highlighting syntax on " Enable line numbers set number " Enable desert theme colorscheme desert " Always show status line set laststatus=2 " Highlight unwanted spaces : " 1. highlight trailing whitespace in red " 2. have this highlighting not appear whilst you are typing in insert mode " 3. have the highlighting of whitespace apply when you open new buffers highlight ExtraWhitespace ctermbg=red guibg=red match ExtraWhitespace /\s\+$/ autocmd BufWinEnter * match ExtraWhitespace /\s\+$/ autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@', use 4 spaces width set shiftwidth=4 " On pressing tab, insert 4 spaces set expandtab " Default colors for highlighting search result hi Search ctermfg=White hi Search ctermbg=DarkMagenta " test cheat.sh integration with VIM let mapleader=" " " map a specific key or shortcut to open NERDTree map :NERDTreeToggle let g:syntastic_javascript_checkers = [ 'jshint' ] let g:syntastic_ocaml_checkers = ['merlin'] let g:syntastic_python_checkers = ['pylint'] let g:syntastic_shell_checkers = ['shellcheck'] set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 au BufNewFile,BufRead Jenkinsfile setf groovy