From 472ba71fd7e646ea82a332e0ecbe6a836512f28d Mon Sep 17 00:00:00 2001 From: Matt Singleton Date: Tue, 9 Feb 2021 17:29:48 -0600 Subject: better file organization --- home/vimrc | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 home/vimrc (limited to 'home/vimrc') diff --git a/home/vimrc b/home/vimrc new file mode 100644 index 0000000..101caf0 --- /dev/null +++ b/home/vimrc @@ -0,0 +1,171 @@ +" +" vundle +" + +set nocompatible +filetype off + +set rtp+=~/.vim/bundle/vundle/ +call vundle#rc() + +Bundle 'gmarik/vundle' + +Bundle 'scrooloose/nerdtree' +Bundle 'altercation/vim-colors-solarized' +Bundle 'vim-scripts/bufexplorer.zip' +Bundle 'ctrlpvim/ctrlp.vim' +Bundle 'pangloss/vim-javascript' +Bundle 'jnwhiteh/vim-golang' +Bundle 'chase/vim-ansible-yaml' +Bundle 'airblade/vim-gitgutter' +Plugin 'vim-airline/vim-airline' +Plugin 'vim-airline/vim-airline-themes' +Plugin 'tpope/vim-eunuch' +Plugin 'dense-analysis/ale' + +" +" behavior +" + +set nocompatible " use vim, not vi settings +set wildmenu " command line tab completion menu +set wildignore=*.pyc,.git " ignore from autocomplete +set ruler " show the cursor position all the time +set showcmd " display incomplete commands +set incsearch " do incremental searching +set ignorecase " ignore case in search +set smartcase " respect case in search if uppercase is used +set nowrap " do not wrap lines +set backspace=indent,eol,start " backspace over all stuff +set vb t_vb= " no beeping +set laststatus=2 " always show the status line + +" +" formatting +" + +set autoindent +set tabstop=4 +set softtabstop=4 +set shiftwidth=4 +set expandtab +set smarttab +set shiftround +set listchars=tab:»·,trail:· +set list + +" +" filetype-specific +" + +if has("autocmd") + filetype plugin indent on + + au! + au FileType text setlocal tw=80 ts=2 sw=2 sts=2 + au FileType markdown setlocal tw=80 ts=2 sw=2 sts=2 + au FileType html setlocal ts=2 sw=2 sts=2 + au FileType xhtml setlocal ts=2 sw=2 sts=2 + au FileType ruby setlocal ts=2 sw=2 sts=2 + au FileType eruby setlocal ts=2 sw=2 sts=2 + au FileType htmldjango setlocal ts=2 sw=2 sts=2 + au FileType coffee setlocal ts=2 sw=2 sts=2 + au FileType php setlocal ts=2 sw=2 sts=2 + + " text files + au BufRead,BufNewFile *.txt setlocal filetype=text + + " markdown + au BufRead,BufNewFile *.md setlocal filetype=markdown + + " html templates + au BufRead,BufNewFile *.mako setlocal filetype=html + au BufRead,BufNewFile *.ftl setlocal filetype=html + au BufRead,BufNewFile *.handlebars setlocal filetype=html ts=4 sts=4 sw=4 + + " css templates + au BufRead,BufNewFile *.less setlocal filetype=css + + " zsh configs and scripts + au BufRead,BufNewFile *.zsh-overrides setlocal filetype=zsh + au BufRead,BufNewFile *.zsh setlocal filetype=zsh + + " ruby files + au BufRead,BufNewFile *.cap setlocal filetype=ruby + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid or when inside an event handler + au BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ exe "normal g`\"" | + \ endif +endif + +" +" bindings +" + +let mapleader = "," + +" convenience +nnoremap x :source ~/.vimrc +nnoremap +nnoremap j +nnoremap k +nnoremap h +nnoremap l +"nnoremap 10 10j +"nnoremap 10 10k + +" NERDTree +nnoremap e :NERDTreeToggle +let NERDTreeMapActivateNode='' + +" bufexplore +nnoremap fe :BufExplorer +nnoremap fs :BufExplorerHorizontalSplit +nnoremap fv :BufExplorerVerticalSplit + +" ctrlp +let g:ctrlp_map ='a' + +" solarized +nnoremap vl :let g:solarized_visibility="low" | colo solarized +nnoremap vh :let g:solarized_visibility="high" | colo solarized + + +" +" visual +" + +let g:solarized_visibility="high" "trailing characters very visible +let g:solarized_menu=0 "don't show the gui menu +set synmaxcol=500 +syntax on +set background=light +silent! colo solarized "silent so it doesn't harf before it's installed +set hlsearch + +" don't mess up gutter highlight with gitgutter +highlight clear SignColumn +hi! link SignColumn Background + +" Highlight non-ascii characters +" Run this late to override solarized +if has("autocmd") + highlight nonascii guibg=Red ctermbg=1 term=standout + au BufReadPost * syntax match nonascii /[^\d0-\d127]/ +endif + +let g:airline_left_sep='' +let g:airline_left_alt_sep='|' +let g:airline_right_sep='' +let g:airline_right_alt_sep='|' + +" +" local additions +" + +if filereadable($HOME."/.vimrc-local") + source ~/.vimrc-local +endif -- cgit v1.2.3