" Don't try to be vi compatible set nocompatible " Helps force plugins to load correctly when it is turned back on below filetype off " For plugins to load correctly filetype plugin indent on " TODO: Pick a leader key let mapleader = "," " Security set modelines=0 " Show line numbers set number autocmd InsertEnter * :set norelativenumber autocmd InsertLeave * :set relativenumber " Show file stats set ruler " Blink cursor on error instead of beeping (grr) set visualbell " Encoding set encoding=utf-8 " Whitespace set wrap set textwidth=88 set formatoptions=tcqrn1 set tabstop=2 set shiftwidth=2 set softtabstop=2 set expandtab set noshiftround " Cursor motion set scrolloff=3 set backspace=indent,eol,start set matchpairs+=<:> " use % to jump between pairs runtime! macros/matchit.vim " Move up/down editor lines nnoremap j gj nnoremap k gk " Allow hidden buffers set hidden " Rendering set ttyfast " Status bar set laststatus=2 " Last line set showmode set showcmd " Searching nnoremap / /\v vnoremap / /\v set hlsearch set incsearch set ignorecase set smartcase set showmatch map :let @/='' " clear search " Remap help key. inoremap :set invfullscreena nnoremap :set invfullscreen vnoremap :set invfullscreen " Textmate holdouts " Formatting map q gqip " Visualize tabs and newlines set listchars=tab:▸\ ,eol:¬ " Uncomment this to enable by default: " set list " To enable by default " Or use your leader key + l to toggle on/off map l :set list! " Toggle tabs and EOL " Color scheme (terminal) "set t_Co=256 "let g:solarized_termcolors=256 "let g:solarized_termtrans=1 " put https://raw.github.com/altercation/vim-colors-solarized/master/colors/solarized.vim " in ~/.vim/colors/ and uncomment: "syntax enable set background=dark "light " replace dark with light for light mode colorscheme solarized set noeb vb t_vb= au GUIEnter * set vb t_vb= function! InsertStatuslineColor(mode) if a:mode == 'i' hi statusline guibg=Cyan ctermfg=6 guifg=Black ctermbg=0 elseif a:mode == 'r' hi statusline guibg=Purple ctermfg=5 guifg=Black ctermbg=0 else hi statusline guibg=DarkRed ctermfg=1 guifg=Black ctermbg=0 endif endfunction au InsertEnter * call InsertStatuslineColor(v:insertmode) au InsertLeave * hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15 " default the statusline to green when entering Vim hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15 " Formats the statusline set statusline=%f " file name set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding set statusline+=%{&ff}] "file format set statusline+=%y "filetype set statusline+=%h "help file flag set statusline+=%m "modified flag set statusline+=%r "read only flag set statusline+=\ %= " align left set statusline+=Line:%l/%L[%p%%] " line X of Y [percent of file] set statusline+=\ Col:%c " current column set statusline+=\ Buf:%n " Buffer number set statusline+=\ [%b][0x%B]\ " ASCII and byte code under cursor