" enable project specific .vimrc set exrc set nocompatible set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'flazz/vim-colorschemes' Plugin 'airblade/vim-gitgutter' Plugin 'kien/ctrlp.vim' Plugin 'scrooloose/nerdcommenter' Plugin 'scrooloose/syntastic' Plugin 'ervandew/supertab' Plugin 'pangloss/vim-javascript' Plugin 'mxw/vim-jsx' Plugin 'fatih/vim-go' Plugin 'plantuml-syntax' Plugin 'editorconfig/editorconfig-vim' " All of your Plugins must be added before the following line call vundle#end() filetype on filetype plugin indent on " 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 " Syntax highlighting + color scheme syntax on set t_Co=256 " colorscheme jellybeans colorscheme xoria256 " makes sure we don't lose history when switching buffers " http://stackoverflow.com/a/2732336 set hidden set noswapfile set directory=$HOME/.vim/swp// set mouse=a set backspace=indent,eol,start set clipboard=unnamed set hlsearch set incsearch set cul set number set laststatus=2 set autoindent set expandtab set shiftwidth=4 set softtabstop=4 set tabstop=4 let mapleader="," let g:mapleader="," au FileType yaml,js,jsx setlocal tabstop=2 expandtab shiftwidth=2 softtabstop=2 " remove trailing whitespace on save autocmd FileType java,php,js,jsx,yaml,json,sh autocmd BufWritePre <buffer> :%s/\s\+$//e " give us some left margin (also disable highlighting for the fold " column 'F' with 'n', so that it really shows up as a margin set highlight=Fn set foldcolumn=5 set foldmethod=syntax set foldlevel=99 " -------------------------------------------------------- " Vim-go " -------------------------------------------------------- au FileType go nmap <leader>s <Plug>(go-implements) au FileType go nmap <leader>i <Plug>(go-info) au FileType go nmap <leader>gd <Plug>(go-doc) au FileType go nmap <leader>gv <Plug>(go-doc-vertical) au FileType go nmap <leader>gb <Plug>(go-doc-browser) au FileType go nmap <leader>r <Plug>(go-run) au FileType go nmap <leader>b <Plug>(go-build) au FileType go nmap <leader>t <Plug>(go-test) au FileType go nmap <leader>c <Plug>(go-coverage) let g:go_def_mode='gopls' let g:go_info_mode='gopls' let g:go_highlight_functions = 1 let g:go_highlight_methods = 1 let g:go_highlight_structs = 1 " Configure nerdcommenter let g:NERDSpaceDelims = 1 let g:NERDTrimTrailingWhitespace = 1 " Syntastic configuration set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:javascript_plugin_jsdoc = 1 let g:javascript_plugin_flow = 1 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 let g:syntastic_loc_list_height=5 " Better symbols let g:syntastic_error_symbol = 'XX' let g:syntastic_warning_symbol = '!!' let g:ctrlp_prompt_mappings = { \ 'AcceptSelection("e")': ['<cr>', '<2-LeftMouse>'], \ 'AcceptSelection("h")': ['<c-x>', '<c-cr>', '<c-s>'], \ 'AcceptSelection("t")': ['<c-t>'], \ 'AcceptSelection("v")': ['<c-v>', '<RightMouse>'], \ } set wildignore+=*/node_modules/*,*.so,*.swp,*.zip let g:ctrlp_custom_ignore = { \ 'dir': '\v[\/]\.(git|hg|svn)$', \ 'file': '\v\.(exe|so|dll)$', \ } " disable unsafe commands from project specific .vimrc set secure