Last active
January 9, 2017 17:54
-
-
Save kcmerrill/8895488 to your computer and use it in GitHub Desktop.
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
"Automagically source .vimrc on save | |
autocmd! bufwritepost .vimrc source % | |
" Set up some basics | |
set nocompatible " Who needs vi anyways? | |
set t_Co=256 " Force 246 colors for the temrinal | |
set nowrap " don't wrap lines | |
set tabstop=4 " a tab is four spaces | |
set smarttab | |
set softtabstop=4 " when hitting <BS>, pretend like a tab is removed, even if spaces | |
set expandtab " expand tabs by default (overloadable per file type later) | |
set shiftwidth=4 " number of spaces to use for autoindenting | |
set shiftround " use multiple of shiftwidth when indenting with '<' and '>' | |
set backspace=indent,eol,start " allow backspacing over everything in insert mode | |
set autoindent " always set autoindenting on | |
set copyindent " copy the previous indentation on autoindenting | |
set ignorecase " ignore case when searching | |
set smartcase " ignore case if search pattern is all lowercase, | |
set visualbell " don't beep | |
set noerrorbells " don't beep | |
set autowrite " Save on buffer switch | |
set encoding=utf-8 " Encoding to UTF8 | |
set guifont=Meslo\ LG\ S\ DZ\ Regular\ for\ Powerline:h20 | |
set numberwidth=5 " Sets the gutter width a little larger | |
set number " always show line numbers | |
set clipboard=unnamed | |
set secure | |
set showmatch | |
set matchpairs=(:),{:},[:] | |
set cursorline " Show the line the cursor is on | |
set undolevels=1000 | |
set title | |
"folding settings | |
set foldmethod=indent "fold based on indent | |
set foldnestmax=3 "deepest fold is 3 levels | |
set nofoldenable "dont fold by default | |
"display tabs and trailing spaces | |
"set list | |
"set listchars=tab:â–·â‹…,trail:â‹…,nbsp:â‹… | |
" Mouse stuff | |
"set mouse=a | |
"set ttymouse=xterm2 | |
filetype off " Required, don't ask questions! | |
syntax on " turn syntax highlighting on | |
" Mappings for tabs | |
nnoremap <tab> :bnext<CR> | |
nnoremap <S-tab> :bprev<CR> | |
" Use JK instead of ESC | |
inoremap jk <C-[> | |
inoremap JK <C-[> | |
" First charachter of the sentence is the 1 key. | |
nnoremap 1 ^ | |
" Last charachter of the sentence is the 0 key | |
nnoremap 0 $ | |
" Shifting of code blocks | |
vnoremap > >gv | |
vnoremap < <gv | |
" Fix semi/colon | |
map ; : | |
" Re-Mapping of the splits | |
map <C-j> <C-W>j | |
map <C-k> <C-W>k | |
map <C-h> <C-W>h | |
map <C-l> <C-W>l | |
" Vundle! | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
Plugin 'gmarik/Vundle.vim' | |
"Disable swap files | |
set noswapfile | |
" Vundle Plugins! | |
Plugin 'Lokaltog/powerline-fonts' | |
Plugin 'bling/vim-airline' | |
Plugin 'mkitt/tabline.vim' | |
Plugin 'flazz/vim-colorschemes' | |
Plugin 'mattn/emmet-vim' | |
Plugin 'tpope/vim-surround' | |
Plugin 'kien/ctrlp.vim' | |
Plugin 'airblade/vim-gitgutter' | |
Plugin 'edkolev/promptline.vim' | |
Plugin 'edkolev/tmuxline.vim' | |
Plugin 'Raimondi/delimitMate' | |
Plugin 'vim-scripts/savevers.vim' | |
Plugin 'rhysd/committia.vim' | |
Plugin 'terryma/vim-multiple-cursors' | |
Plugin 'bogado/file-line' | |
Plugin 'fatih/vim-go' | |
Plugin 'majutsushi/tagbar' | |
Plugin 'vim-airline/vim-airline-themes' | |
call vundle#end() | |
filetype plugin indent on " Required, don't ask questions! | |
" Working Directory Goodies | |
cnoremap cwd lcd %% | |
cnoremap cd. lcd %% | |
" Git Gutter | |
nmap R <Plug>GitGutterRevertHunk | |
let g:gitgutter_sign_column_always = 1 | |
" OmniComplete Settings | |
autocmd FileType python set omnifunc=pythoncomplete#Complete | |
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS | |
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags | |
autocmd FileType css set omnifunc=csscomplete#CompleteCSS | |
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags | |
autocmd FileType php set omnifunc=phpcomplete#CompletePHP | |
autocmd FileType c set omnifunc=ccomplete#Complete | |
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | |
inoremap <expr> <C-n> pumvisible() ? '<C-n>' : | |
\ '<C-n><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' | |
inoremap <expr> <M-,> pumvisible() ? '<C-n>' : | |
\ '<C-x><C-o><C-n><C-p><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' | |
" vim-go | |
let g:go_highlight_functions = 1 | |
let g:go_highlight_methods = 1 | |
let g:go_highlight_fields = 1 | |
let g:go_highlight_types = 1 | |
let g:go_highlight_operators = 1 | |
let g:go_highlight_build_constraints = 1 | |
let g:syntastic_go_checkers = ['gofmt'] | |
let g:go_list_type = "quickfix" | |
" CtrlP Options | |
let g:ctrlp_map = '<c-p>' | |
let g:ctrlp_cmd = 'CtrlP' | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip | |
let g:ctrlp_working_path_mode = 'r' | |
" Tmux(Status Bar) | |
" AirLine(Status Bar) | |
set laststatus=4 | |
set ttimeoutlen=50 | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#tmuxline#enabled = 1 | |
let g:airline_theme='powerlineish' | |
set linespace=1 | |
" Remove arrows in airline | |
let g:airline_powerline_fonts = 0 | |
let g:airline_left_sep = '' | |
let g:airline_left_alt_sep = '' | |
let g:airline_right_sep = '' | |
let g:airline_right_alt_sep = '' | |
" Auto-remove trailing spaces | |
autocmd BufWritePre * :%s/\s\+$//e | |
" Javascript Beautify | |
"autocmd FileType javascript setlocal equalprg=js-beautify\ --stdin | |
autocmd BufNewFile,BufRead *.json set ft=javascript | |
" Re-Write with sudo | |
cmap w!! w !sudo tee % > /dev/null | |
" Kolor colorscheme | |
let g:kolor_italic=1 " Enable italic. Default: 1 | |
let g:kolor_bold=1 " Enable bold. Default: 1 | |
let g:kolor_underlined=0 " Enable underline. Default: 0 | |
let g:kolor_alternative_matchparen=0 " Gray 'MatchParen' color. Default: 0 | |
" My favorite color schemes | |
colorscheme molokai | |
" Go specific stuff | |
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 | |
au BufRead,BufNewFile *.go set filetype=go | |
autocmd filetype go set nolist |
If you would like a pretty shell prompt, simply run the following within vim.
:PromptlineSnapshot ~/.shell_prompt.sh
Be sure to add ~/.shell_prompt.sh to the .bash_profile or .bashrc
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A few quick installation notes.
Install vundle found here: https://github.com/gmarik/Vundle.vim
Run :PluginInstall
Exit Vim
Install the fonts, found under bundles/powerline-fonts ("open *" in mac, "fc-cache -f -v" in linux)
Be sure to install them on the client machine too, and if using iTerm2 Change both font types to guifont in the .vimrc
Boom! Done!