Last active
October 5, 2017 02:47
-
-
Save apokalyptik/fdf050e2dd004b756d2e1a0b6f2d399a to your computer and use it in GitHub Desktop.
My .vimrc file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" Instructions: | |
" 1. Download this .vimrc file: | |
" curl https://gist.githubusercontent.com/apokalyptik/fdf050e2dd004b756d2e1a0b6f2d399a/raw/.vimrc > .vimrc | |
" 2. Install vundle: | |
" git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim | |
" 3. Run vim | |
" 4. Install Plugins: | |
" :PluginInstall | |
" 5. Exit vim | |
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() | |
Plugin 'VundleVim/Vundle.vim' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'tpope/vim-vinegar' | |
Plugin 'Shougo/neocomplete.vim' | |
Plugin 'scrooloose/syntastic' | |
Plugin 'fatih/vim-go' | |
Plugin 'vim-airline/vim-airline' | |
Plugin 'vim-airline/vim-airline-themes' | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'tpope/vim-vividchalk' | |
Plugin 'moll/vim-bbye' | |
Plugin 'maksimr/vim-jsbeautify' | |
Plugin 'editorconfig/editorconfig-vim' | |
Plugin 'pangloss/vim-javascript' | |
Plugin 'mxw/vim-jsx' | |
call vundle#end() " required | |
filetype plugin indent on " required | |
" mxw/vim-jsx | |
let g:jsx_ext_required = 0 | |
" js-beautify | |
"autocmd BufWrite *.js :call JsBeautify() | |
autocmd BufWrite *.json :call JsonBeautify() | |
autocmd BufWrite *.jsx :call JsxBeautify() | |
autocmd BufWrite *.htm* :call HtmlBeautify() | |
autocmd BufWrite *.css :call CSSBeautify() | |
" neocomplete settings | |
let g:neocomplete#enable_at_startup = 1 | |
let g:neocomplete#enable_auto_select = 0 | |
let g:neocomplete#enable_refresh_always = 1 | |
let g:neocomplete#enable_multibyte_completion = 1 | |
" airlilne | |
let g:airline#extensions#tabline#enabled = 1 | |
set laststatus=2 | |
set noshowmode | |
" vim-go settings | |
let g:go_highlight_functions = 1 | |
let g:go_highlight_methods = 1 | |
let g:go_highlight_fields = 1 | |
let g:go_highlight_structs = 1 | |
let g:go_highlight_interfaces = 1 | |
let g:go_highlight_operators = 1 | |
let g:go_highlight_build_constraints = 1 | |
let g:go_fmt_fail_silently = 1 | |
let g:go_fmt_command = "/home/wpcom/go/bin/goimports" | |
let g:go_list_type = "quickfix" | |
" syntastic settings | |
let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck'] | |
let g:syntastic_always_populate_loc_list = 1 | |
let g:syntastic_check_on_open = 1 | |
let g:syntastic_check_on_wq = 1 | |
" gitgutter" | |
set signcolumn=yes | |
let g:gitgutter_realtime = 1 | |
let g:gitgutter_eager = 1 | |
" bbye | |
" map \q to :Bdelete | |
:nnoremap <Leader>q :Bdelete<CR> | |
" Other settings | |
"""""""""""""""" | |
" Explorer | |
let g:netrw_liststyle=3 " be more like nerdtree | |
map <C-n> :Explore<CR> | |
set wildignore+=.git/ | |
set wildignore+=.svn/ | |
set wildignore+=*.swp | |
" Make backspace delete things that I didn't type this session. kthxbye | |
set backspace=indent,eol,start | |
" Make tab-completion for :something<tab> not suck | |
set wildmode=longest:full,list:full | |
set wildmenu | |
set ignorecase | |
set infercase | |
" Allow the use of the mouse in all modes except visual mode. | |
set ttymouse=xterm2 | |
set mouse=ni | |
" Speed up tty rendering | |
set ttyfast | |
set lazyredraw | |
" Allows multiple changed file editing without complaining. Because: vim. | |
set hidden | |
" A bunch of crap because indentation sucks | |
set tabstop=8 " - tabs are at proper location | |
set expandtab " - don't use actual tab character (ctrl-v) | |
set shiftwidth=8 " - indenting is 4 spaces | |
set autoindent " - turns it on | |
set smartindent " - does the right thing (mostly) in programs | |
set cinoptions=l1 | |
set cindent " - stricter rules for C programs | |
" When in visual mode and indenting or out-denting reselect the block | |
vnoremap < <gv | |
vnoremap > >gv | |
" When searching highlight all matches | |
set hlsearch | |
" Spell checking in comments and strings | |
set spell spelllang=en_us | |
" Disable spell checking for the quickfix window for readabilities sake | |
augroup quickfix | |
autocmd! | |
autocmd FileType qf setlocal nospell | |
augroup END | |
" Syntax checking | |
syntax on | |
syntax enable | |
" Colors :) | |
colorscheme vividchalk | |
" Make sure that working directory is always the same as the file you are | |
" editing | |
set autochdir | |
" Keep undo history across sessions by storing it in a file | |
let vimDir = '$HOME/.vim' | |
let &runtimepath.=','.vimDir | |
if has('persistent_undo') | |
let myUndoDir = expand(vimDir . '/undodir') | |
call system('mkdir ' . vimDir) | |
call system('mkdir ' . myUndoDir) | |
let &undodir = myUndoDir | |
set undofile | |
endif | |
" A function to reset spelling error colors (vividchalk is ugly here) | |
function! s:reset_spelling_colors() | |
" Make spelling work better in comments with vividchalk :) | |
if exists('g:colors_name') && strlen(g:colors_name) | |
highlight SpellBad ctermbg=DarkMagenta ctermfg=Black | |
endif | |
endfunction | |
" Run code at certain breakpoints | |
augroup ex_last | |
" Run code on startup after everything is initialized | |
if exists('##VimEnter') | |
" Execute after vim initializes | |
autocmd VimEnter * call <SID>reset_spelling_colors() | |
endif | |
" Run code on switching color schemes | |
if exists('##ColorScheme') | |
autocmd VimEnter * call <SID>reset_spelling_colors() | |
endif | |
augroup end | |
autocmd BufRead,BufNewFile *.php set autoindent noexpandtab tabstop=4 shiftwidth=4 | |
set exrc | |
set secure |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment