Skip to content

Instantly share code, notes, and snippets.

@OrderAndCh4oS
Created November 16, 2019 22:10
Show Gist options
  • Save OrderAndCh4oS/d4aab5f513a9c27986fb3a9f73251384 to your computer and use it in GitHub Desktop.
Save OrderAndCh4oS/d4aab5f513a9c27986fb3a9f73251384 to your computer and use it in GitHub Desktop.
#!/bin/bash
brew unlink vim
brew install cmake macvim
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim;
touch .vimrc;
cat << EOF > .vimrc
set nocompatible
filetype off
let g:ycm_confirm_extra_conf = 0
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'Syntastic'
Plugin 'tpope/vim-fugitive'
Plugin 'scrooloose/nerdtree'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'airblade/vim-gitgutter'
Plugin 'morhetz/gruvbox'
Plugin 'junegunn/goyo.vim'
Plugin 'junegunn/limelight.vim'
Plugin 'lilydjwg/colorizer'
Plugin 'TagBar'
Plugin 'ctrlp.vim'
Plugin 'ntpeters/vim-better-whitespace'
Plugin 'Chiel92/vim-autoformat'
Plugin 'vim-flake8'
Plugin 'vimlatex'
call vundle#end()
filetype plugin indent on
syntax on
colorscheme gruvbox
set background=dark
scriptencoding utf-8
set encoding=utf-8
set fenc=utf-8
set termencoding=utf-8
set number
set ruler
set shiftround
set ts=4
set autoindent
set smartindent
set expandtab
set smarttab
set shiftwidth=4
set history=500
set autoread
set list
set listchars=tab:\ \ ,trail:.
set colorcolumn=80
set backspace=2 " backspace delete over EOL
" set spell spelllang=en_gb
let mapleader = ","
let g:airline#extensions#tabline#enabled = 1
set laststatus=2
set statusline=%t
set statusline+=[%{strlen(&fenc)?&fenc:'none'}]
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
autocmd FileType make setlocal noexpandtab
autocmd BufWritePre * StripWhitespace
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
autocmd FileType python setlocal completeopt-=preview
let g:syntastic_loc_list_height=5
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_java_checkers = []
" edit vimrc
nnoremap <Leader>ev :e ~/.vimrc<CR>
" source .vimrc
nnoremap <Leader>sv :so ~/.vimrc<CR>
" search and replace
nnoremap <Leader>rr :%s//g<Left><Left>
" search and replace current word
nnoremap <Leader>rw :%s/<c-r><c-w>//g<left><left>
" increment/decrement numbers
nnoremap + <C-a>
" increment/decrement numbers
nnoremap - <C-x>
" turn a snake into a camel
nnoremap <Leader>+ mmviw:s/\%V_\(.\)/\U\1/g<CR>:nohlsearch<CR>`m
" turn a camel into a snake
nnoremap <Leader>_ mmviw:s/\%V\(\u\)/_\L\1/g<CR>:nohlsearch<CR>`m
" move by single line
nnoremap j gj
nnoremap k gk
let g:ctrlp_show_hidden = 1
let NERDTreeQuitOnOpen=1
let NERDTreeShowHidden=1
let loaded_matchparen = 1
highlight ColorColumn ctermbg=236
hi CursorLine cterm=NONE ctermbg=236
" toggle goyo
nnoremap <Leader>gy :Goyo<CR>
autocmd! User GoyoEnter Limelight
autocmd! User GoyoLeave Limelight!
let g:limelight_conceal_ctermfg = 'gray'
let g:limelight_conceal_ctermfg = 240
map <C-n> :NERDTreeToggle<CR>
nmap <C-t> :TagbarToggle<CR>
nmap <C-l> :bnext<CR>
nmap <C-h> :bprev<CR>
map <C-Y> :YcmGenerateConfig<CR>
map <C-;> :YcmCompleter FixIt<CR>
noremap <C-f> :Autoformat<CR>
nnoremap <F7> :make<CR>
EOF
vim +PluginInstall +qall;
cd ~/.vim/bundle/YouCompleteMe;
./install.py --clang-completer;
cd -;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment