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. " plugin on GitHub repo Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html " Plugin 'L9' " 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' " 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 " 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 " 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=" " 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