137 lines
4.4 KiB
Plaintext
137 lines
4.4 KiB
Plaintext
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\+\%#\@<!$/
|
||
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
|
||
autocmd BufWinLeave * call clearmatches()
|
||
|
||
" Don’t create backups when editing files in certain directories
|
||
set backupskip=/tmp/*,/private/tmp/*
|
||
" Ignore case of searches
|
||
set ignorecase
|
||
" Highlight current line
|
||
set cursorline
|
||
" Highlight dynamically as pattern is typed
|
||
set incsearch
|
||
" Highlight searches
|
||
set hlsearch
|
||
" Disable error bells
|
||
set noerrorbells
|
||
" Don’t show the intro message when starting Vim
|
||
set shortmess=atI
|
||
" Show the filename in the window titlebar
|
||
set title
|
||
" Start scrolling three lines before the horizontal window border
|
||
set scrolloff=3
|
||
" Enable auto indent
|
||
set autoindent
|
||
" show existing tab with 4 spaces width
|
||
set tabstop=4
|
||
" when indenting with '>', 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
|