diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..94b8372 --- /dev/null +++ b/vimrc @@ -0,0 +1,163 @@ +" Use pathogen to use search for plug-ins +call pathogen#runtime_append_all_bundles() +call pathogen#helptags() + +" Basics +set t_Co=256 " Use 256 colors +set encoding=utf8 " Use utf-8 encoding +set nocompatible " Get out of vi-compatible mode +set background=dark " I am using a dark background +syntax on " Syntax highlighting on + +" General +colorscheme wombat +" setlocal spell spelllang=en_us +set fileformats=unix,dos,mac " support all three, in this order +set nostartofline " leave my cursor where it was +set history=1000 +set clipboard+=unnamed " turns out I do like is sharing windows clipboard +set autoread " Set to auto read when a file is changed from the outside +set autochdir " Change current directory to be directory of current file + +set backspace=start,eol,indent +set whichwrap+=<,>,[,] + +set magic "Set magic on, for regular expressions + +" Turn on omni completion. Must have `filetype plugin on` to use. +" To use, in insert mode press ctrl+x ctrl+o +set ofu=syntaxcomplete#Complete + +" Mappings +let mapleader="," +let g:mapleader="," +map rc :source $MYVIMRC +map nt :NERDTreeToggle +map ss :setlocal spell! +map ct :TlistToggle " taglist shortcut + +if bufwinnr(1) + map + < + map - > +endif + +map ggVGg? " apply rot13 for people snooping over shoulder, good fun + +" snipMate Settings +let g:snips_author = "Buddy Sandidge " + +" Prep some variables for use with syntastic syntax checker +let g:syntastic_phpcs_disable=1 +let g:syntastic_auto_loc_list=0 +let g:syntastic_stl_format = '[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]' +let g:syntastic_javascript_checker = "jslint" +let g:syntastic_jslint_conf = "" + +" Close all open buffers on entering a window if the only +" buffer that's left is the NERDTree buffer +function s:CloseIfOnlyNerdTreeLeft() + if exists("t:NERDTreeBufName") + if bufwinnr(t:NERDTreeBufName) != -1 + if winnr("$") == 1 + q + endif + endif + endif +endfunction + +" Vim Tabs +map tt :tabnew +map te :tabedit +map tc :tabclose +map to :tabonly +map tn :tabNext +map tp :tabprevious +map tf :tabfirst +map tl :tablast +map ', go to 4, not 5 +filetype plugin on " load filetype plug-ins and indent settings +filetype indent on " load filetype plug-ins and indent settings + +" UI +set showcmd " show the command being typed +set ruler " Always show current positions along the bottom +"set number " turn on line numbers +set relativenumber " Use relative line numbers +set numberwidth=4 " If we have over 9999 lines +set hidden " you can change buffer without saving +"set mouse=a " use mouse everywhere + +" No sound on errors +set noerrorbells " don't make noise +set novisualbell " don't blink +set t_vb= +set tm=500 + +" Visual Cues +set showmatch " show matching brackets +set matchtime=2 " how many tenths of a second to blink matching brackets for +set nohlsearch " do not highlight searched for phrases +set incsearch " BUT do highlight as you type you search phrase +set scrolloff=5 " Keep 5 lines (top/bottom) for scope +set sidescrolloff=5 " Keep 5 lines at the size +set list " we do what to show tabs, to ensure we get them out of my files +set listchars=tab:▹\ ,trail:… " show tabs and trailing whitespace + +" ~\file[+] [type] [line,column] [number of lines] +set statusline=%F%m%r%h%w\ [%Y]\ [%03l,%03v]\ [%L] +"set statusline+=%#warningmsg# +"set statusline+=%{SyntasticStatuslineFlag()} +"set statusline+=%* + +set laststatus=2 " always show the status line + +" Text Formatting/Layout +set nowrap " do not wrap line +set ignorecase " case insensitive by default +set smartcase " if there are caps, go case-sensitive +set completeopt=menu,longest,preview " improve the way autocomplete works + +autocmd WinEnter * call s:CloseIfOnlyNerdTreeLeft() + +augroup json + au! BufRead,BufNewFile *.json set syntax=javascript +augroup END + +augroup jade + au! BufRead,BufNewFile *.jade set syntax=jade +augroup END + +augroup styl + au! BufRead,BufNewFile *.styl set syntax=stylus +augroup END + +augroup conkyrc + au! BufRead,BufNewFile *.conkyrc set syntax=conkyrc +augroup END + +augroup vcl + au! BufRead,BufNewFile *.vcl set filetype=vcl +augroup END + +augroup mustache + au! BufRead,BufNewFile *.mustache set filetype=mustache +augroup END + +augroup coffee + au! BufRead,BufNewFile *.coffee set filetype=coffee +augroup END +