Created
March 19, 2015 13:44
-
-
Save masci/ef1e6cabc453f0426a08 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
set nocompatible " be iMproved, required | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
" Plugins begin | |
call vundle#begin() | |
Plugin 'gmarik/Vundle.vim' | |
Plugin 'tpope/vim-fugitive' | |
Plugin 'scrooloose/nerdtree' | |
Plugin 'scrooloose/nerdcommenter' | |
Plugin 'Lokaltog/vim-easymotion' | |
Plugin 'bling/vim-airline' | |
Plugin 'fatih/vim-go' | |
Plugin 'altercation/vim-colors-solarized' | |
Plugin 'Valloric/YouCompleteMe' | |
call vundle#end() | |
" Plugins end | |
" General | |
filetype plugin indent on " Automatically detect file types. | |
syntax on | |
set mousehide | |
scriptencoding utf-8 | |
set virtualedit=onemore | |
set hidden " Allow buffer switching without saving | |
set background=dark | |
let g:solarized_termcolors=256 | |
colorscheme solarized | |
if has('gui_running') | |
set guifont=Menlo:h13 | |
endif | |
" UI | |
set showmode | |
set cursorline " Highlight current line | |
set backspace=indent,eol,start " Backspace for dummies | |
set linespace=0 " No extra spaces between rows | |
set number " Line numbers on | |
set showmatch " Show matching brackets/parenthesis | |
set incsearch " Find as you type search | |
set hlsearch " Highlight search terms | |
set ignorecase " Case insensitive search | |
set smartcase " Case sensitive when uc present | |
set whichwrap=b,s,h,l,<,>,[,] " Backspace and cursor keys wrap too | |
set scrolljump=5 " Lines to scroll when cursor leaves screen | |
set scrolloff=3 " Minimum lines to keep above and below cursor | |
set list | |
set listchars=tab:›\ ,trail:•,extends:#,nbsp:. " Highlight problematic whitespace | |
set splitright " Puts new vsplit windows to the right of the current | |
set splitbelow " Puts new split windows to the bottom of the current | |
" Statusline | |
set laststatus=2 | |
set statusline=%<%f\ " Filename | |
set statusline+=%w%h%m%r " Options | |
set statusline+=%{fugitive#statusline()} " Git Hotness | |
set statusline+=\ [%{&ff}/%Y] " Filetype | |
set statusline+=\ [%{getcwd()}] " Current dir | |
set statusline+=%=%-14.(%l,%c%V%)\ %p%% " Right aligned file nav info | |
" vim-go | |
let g:go_highlight_functions = 1 | |
let g:go_highlight_methods = 1 | |
let g:go_highlight_structs = 1 | |
let g:go_highlight_operators = 1 | |
let g:go_highlight_build_constraints = 1 | |
" Formatting | |
set nowrap " Do not wrap long lines | |
set autoindent " Indent at the same level of the previous line | |
set shiftwidth=4 " Use indents of 4 spaces | |
set expandtab " Tabs are spaces, not tabs | |
set tabstop=4 " An indentation every four columns | |
set softtabstop=4 " Let backspace delete indent | |
set nojoinspaces " Prevents inserting two spaces after punctuation on a join (J) | |
set pastetoggle=<F2> " pastetoggle (sane indentation on pastes) | |
" Key (re)Mappings | |
let mapleader = ',' | |
nmap <silent> <leader>/ :nohlsearch<CR> | |
cmap cwd lcd %:p:h | |
cmap cd. lcd %:p:h | |
" Fugitive | |
nnoremap <silent> <leader>gs :Gstatus<CR> | |
nnoremap <silent> <leader>gd :Gdiff<CR> | |
nnoremap <silent> <leader>gc :Gcommit<CR> | |
nnoremap <silent> <leader>gb :Gblame<CR> | |
nnoremap <silent> <leader>gl :Glog<CR> | |
nnoremap <silent> <leader>gp :Git push<CR> | |
nnoremap <silent> <leader>gr :Gread<CR> | |
nnoremap <silent> <leader>gw :Gwrite<CR> | |
nnoremap <silent> <leader>ge :Gedit<CR> | |
nnoremap <silent> <leader>gi :Git add -p %<CR> | |
nnoremap <silent> <leader>gg :SignifyToggle<CR> | |
" NerdTree | |
map <C-n> :NERDTreeToggle<CR> | |
map <leader>e :NERDTreeFind<CR> | |
nmap <leader>nt :NERDTreeFind<CR> | |
let NERDTreeShowBookmarks=1 | |
let NERDTreeIgnore=['\.py[cd]$', '\~$', '\.swo$', '\.swp$', '^\.git$', '^\.hg$', '^\.svn$', '\.bzr$'] | |
let NERDTreeChDirMode=0 | |
let NERDTreeQuitOnOpen=1 | |
let NERDTreeMouseMode=2 | |
let NERDTreeShowHidden=1 | |
let NERDTreeKeepTreeInNewTab=1 | |
let g:nerdtree_tabs_open_on_gui_startup=0 | |
" vim-go | |
au FileType go nmap <Leader>god <Plug>(go-doc) | |
au FileType go nmap <Leader>godv <Plug>(go-doc-vertical) | |
au FileType go nmap <Leader>gos <Plug>(go-implements) | |
au FileType go nmap <Leader>goi <Plug>(go-info) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment