diff options
Diffstat (limited to '.vimrc')
-rw-r--r-- | .vimrc | 118 |
1 files changed, 118 insertions, 0 deletions
@@ -0,0 +1,118 @@ +" Use Vim settings | +set nocompatible | filetype indent plugin on | syn on + +" ================ General Config ==================== + +set number "Line numbers are good +set backspace=indent,eol,start "Allow backspace in insert mode +set history=1000 "Store lots of :cmdline history +set showcmd "Show incomplete cmds down the bottom +set showmode "Show current mode down the bottom +set gcr=a:blinkon0 "Disable cursor blink +set visualbell "No sounds +set autoread "Reload files changed outside vim +set cursorline "Show cursorline + +" This makes vim act like all other editors, buffers can +" exist in the background without being in a window. +" http://items.sjbach.com/319/configuring-vim-right +set hidden + +"turn on syntax highlighting +syntax on + +" Change leader to a comma because the backslash is too far away +" That means all \x commands turn into ,x +" The mapleader has to be set before vundle starts loading all +" the plugins. +let mapleader="," + +" ================ Turn Off Swap Files ============== + +set noswapfile +set nobackup +set nowb + + +" ================ Persistent Undo ================== + +" Keep undo history across sessions, by storing in file. +" Only works all the time. +if has('persistent_undo') + silent !mkdir ~/.vim/backups > /dev/null 2>&1 + set undodir=~/.vim/backups + set undofile +endif + +" ================ Indentation ====================== + +set autoindent +set smartindent +set smarttab +set shiftwidth=2 +set softtabstop=2 +set tabstop=2 +set expandtab + +"filetype plugin on +"filetype indent on + +" Display tabs and trailing spaces visually +set list listchars=tab:\ \ ,trail:ยท + +set nowrap "Don't wrap lines +set linebreak "Wrap lines at convenient points + +" ================ Folds ============================ + +set foldmethod=indent "fold based on indent +set foldnestmax=3 "deepest fold is 3 levels +set nofoldenable "dont fold by default + +" ================ Completion ======================= + +set wildmode=list:longest +set wildmenu "enable ctrl-n and ctrl-p to scroll thru matches +set wildignore=*.o,*.obj,*~ "stuff to ignore when tab completing +set wildignore+=*vim/backups* +set wildignore+=*sass-cache* +set wildignore+=*DS_Store* +set wildignore+=vendor/rails/** +set wildignore+=vendor/cache/** +set wildignore+=*.gem +set wildignore+=log/** +set wildignore+=tmp/** +set wildignore+=*.png,*.jpg,*.gif + +" ================ Scrolling ======================== + +set scrolloff=8 "Start scrolling when we're 8 lines away from margins +set sidescrolloff=15 +set sidescroll=1 + +" ================ Vim-Addon-Manager ======================== + +fun! SetupVAM() + let c = get(g:, 'vim_addon_manager', {}) + let g:vim_addon_manager = c + let c.plugin_root_dir = expand('$HOME', 1) . '/.vim/vim-addons' + " most used options you may want to use: + " let c.log_to_buf = 1 + " let c.auto_install = 0 + let &rtp.=(empty(&rtp)?'':',').c.plugin_root_dir.'/vim-addon-manager' + if !isdirectory(c.plugin_root_dir.'/vim-addon-manager/autoload') + execute '!git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager ' + \ shellescape(c.plugin_root_dir.'/vim-addon-manager', 1) + endif + + " This provides the VAMActivate command, you could be passing plugin names, too + call vam#ActivateAddons([], {}) +endfun +call SetupVAM() + +" ================ Addons and their settings ======================== +so ~/.vim/addons.vim " addons +so ~/.vim/addons-settings.vim " addon settings +so ~/.vim/custom-settings.vim " custom settings +so ~/.vim/custom-functions.vim " custom functions + |