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() " Ag Plugin 'rking/ag.vim' " Go development plugin Plugin 'fatih/vim-go' call vundle#end() set laststatus=2 set t_Co=256 set encoding=utf-8 set autoindent set smartindent set magic set number set scrolloff=3 set sidescroll=3 set ruler set cc=80 set nowrap set ignorecase set smartcase set splitbelow set hidden set notimeout set incsearch set showmatch set hlsearch set mouse=a set noswapfile set nofoldenable set lazyredraw set t_Co=256 filetype on filetype plugin on filetype indent on syntax enable autocmd FileType markdown setlocal tw=80 et ts=2 sw=2 autocmd FileType text setlocal tw=80 autocmd FileType c,cpp set tabstop=4 shiftwidth=4 expandtab autocmd FileType c set omnifunc=ccomplete#Complete autocmd FileType html,xhtml,css,xml,xslt set shiftwidth=2 softtabstop=2 autocmd FileType vim,lua,nginx set shiftwidth=2 softtabstop=2 autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xhtml,html set omnifunc=htmlcomplete#CompleteTags autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType make set noexpandtab shiftwidth=8 softtabstop=0 autocmd FileType asm set noexpandtab shiftwidth=8 softtabstop=0 syntax=nasm " Golang customizations let g:go_fmt_command = "goimports" let g:go_fmt_fail_silently = 1 let g:go_bin_path = expand("$HOME/go/bin") let g:go_auto_type_info = 1 " Syntax Highlighting for Golang let g:go_highlight_functions = 1 let g:go_highlight_methods = 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 " Go keymaps " Type Info au FileType go nmap i (go-info) " GoDoc au FileType go nmap gd (go-doc) au Filetype go nmap gv (go-doc-vertical) " Build/Run/Test au FileType go nmap r (go-run) au FileType go nmap b (go-build) au FileType go nmap t (go-test) " GoDef au FileType go nmap gd (go-def) au FileType go nmap gs (go-def-split) au FileType go nmap gv (go-def-vertical) au FileType go nmap gt (go-def-tab) " Enhanced keyboard mappings " " in normal mode F2 will save the file nmap :w " in insert mode F2 will exit insert, save, enters insert again imap :wi " switch between header/source with F4 map :e %:p:s,.h$,.X123X,:s,.c$,.h,:s,.X123X$,.c, map :make map :make clean all " The Silver Searcher " bind \ (backward slash) to grep shortcut command -nargs=+ -complete=file -bar Ag silent! grep! |cwindow|redraw! nnoremap \ :Ag set notermguicolors " Solarized stuff "let g:solarized_termtrans=1 "let g:solarized_contrast='high' let g:enable_bold_font = 1 let g:enable_italic_font = 1 let g:hybrid_custom_term_colors = 1 let base16colorspace=256 set background=dark colorscheme hybrid highlight CursorLine cterm=BOLD ctermbg=235 ctermfg=NONE