" change runtime path set runtimepath=,$VIMRUNTIME,$VIM/vimfiles,~/Tools/vim let g:ruby_path = ':C:\ruby193\bin' call pathogen#infect() call pathogen#helptags() set omnifunc=syntaxcomplete#Complete "we don't want vi compatibility AKA Make Vim more useful set nocompatible " color schemes colorscheme jellybeans "hickop "hickop "pablo "torte "slate "evening "darkblue "desert "base16-flat "inkpot "jellybeans "liquidcarbon "molokai "moria "pinksea "sonofobsidian "vividchalk "wombat256mod "evening "koehler "morning "elflord let mapleader = "," let g:ctrlp_map = '' map :noh map w :buffers map q :buffer# " mini buffer explorer toggle map b :MBEToggle " easymotion mappings " n character search map / (easymotion-tn) " 2 character search map s (easymotion-s2) " nerdtree mapppings nmap n :NERDTreeToggle %:p:h nmap m :NERDTreeClose:NERDTreeFind " pane resizing nnoremap :resize -2 nnoremap :resize +2 nnoremap :vertical resize +2 nnoremap :vertical resize -2 "pane movements noremap h noremap j noremap k noremap l map x :%s/\s\+$//:noh map v :tabedit ~/.vimrc map " Save a file as root (,W) noremap W :w !sudo tee % > /dev/null set noswapfile set autoread set selection=exclusive set ttimeoutlen=50 " Use the OS clipboard by default (on versions compiled with `+clipboard`) set clipboard=unnamed " Enhance command-line completion set wildmenu " Allow cursor keys in insert mode set esckeys " Allow backspace in insert mode set backspace=indent,eol,start " Optimize for fast terminal connections set ttyfast " Add the g flag to search/replace by default set gdefault " Use UTF-8 without BOM set encoding=utf-8 "nobomb " Change mapleader let mapleader="," " Don't add empty newlines at the end of files set binary set noeol set history=500 " Number of things to remember in history. set t_Co=256 " Centralize backups, swapfiles and undo history if exists("&backupdir") set backupdir=~/Tools/vim/backups endif if exists("&directory") set directory=~/Tools/vim/swaps endif if exists("&undodir") set undodir=~/Tools/vim/undo endif " Respect modeline in files set modeline set modelines=4 " Enable per-directory .vimrc files and disable unsafe commands in them set exrc set secure " Enable line numbers set number " Enable syntax highlighting syntax on " Highlight current line set cursorline " Make tabs as wide as two spaces set tabstop=2 set expandtab set shiftwidth=2 " Show “invisible” characters set lcs=tab:▸\ ,trail:·,eol:¬,nbsp:_ set list " Highlight searches set hlsearch " Ignore case of searches set ignorecase " Highlight dynamically as pattern is typed set incsearch " Always show status line set laststatus=2 " Enable mouse in all modes set mouse=a " Disable error bells set noerrorbells " Dont reset cursor to start of line when moving around. set nostartofline " Show the cursor position set ruler " Dont show the intro message when starting Vim set shortmess=atI " Show the current mode set showmode " Show the filename in the window titlebar set title " Show the (partial) command as its being typed set showcmd " Use relative line numbers if exists("&relativenumber") set relativenumber au BufReadPost * set relativenumber endif " Start scrolling three lines before the horizontal window border set scrolloff=4 let g:go_disable_autoinstall = 0 let g:ctrlp_working_path_mode = 2 "airline config let g:airline#extensions#tabline#enabled = 1 " the separator used on the left side > "let g:airline_left_sep='>' " the separator used on the right side > "let g:airline_right_sep='<' " enable modified detection > let g:airline_detect_modified=1 " enable paste detection > let g:airline_detect_paste=1 " enable iminsert detection > let g:airline_detect_iminsert=1 " determine whether inactive windows should have the left section collapsed to only the filename of that buffer. let g:airline_inactive_collapse=1 " enable/disable csv integration for displaying the current column. let g:airline#extensions#csv#enabled = 1 " customize the whitespace symbol. > let g:airline#extensions#whitespace#symbol = '.' " themes are automatically selected based on the matching colorscheme. this can be overridden by defining a value. "let g:airline_theme= " if you want to patch the airline theme before it gets applied, you can supply the name of a function where you can modify the palette. let g:airline_theme_patch_func = 'AirlineThemePatch' function! AirlineThemePatch(palette) if g:airline_theme == 'badwolf' for colors in values(a:palette.inactive) let colors[3] = 245 endfor endif endfunction " enable/disable automatic population of the `g:airline_symbols` dictionary with powerline symbols. let g:airline_powerline_fonts=1 " define the set of text to display for each mode. let g:airline_mode_map = { \ '__' : '-', \ 'n' : 'N', \ 'i' : 'I', \ 'R' : 'R', \ 'c' : 'C', \ 'v' : 'V', \ 'V' : 'V', \ '' : 'V', \ 's' : 'S', \ 'S' : 'S', \ '' : 'S', \ } " defines whether the preview window should be excluded from have its window statusline modified (may help with plugins which use the preview window heavily) > let g:airline_exclude_preview = 0 " change the text for when no branch is detected > let g:airline#extensions#branch#empty_message = 'No Branch' " truncate long branch names to a fixed length > let g:airline#extensions#branch#displayed_head_limit = 15 " enable/disable fugitive/lawrencium integration > let g:airline#extensions#branch#enabled = 1 " Enable file type detection filetype plugin on filetype on " Automatic commands if has("autocmd") " Treat .json files as .js autocmd BufNewFile,BufRead *.json setfiletype json syntax=javascript " Treat .md files as Markdown autocmd BufNewFile,BufRead *.md setlocal filetype=markdown autocmd BufRead,BufNewFile *.aspx setfiletype apsx syntax=htmldjango autocmd BufRead,BufNewFile *.ascx setfiletype ascx syntax=htmldjango autocmd BufRead,BufNewFile *.spark setfiletype spark syntax=htmldjango autocmd BufRead,BufNewFile *.html setfiletype html syntax=htmldjango autocmd BufRead,BufNewFile *.template setfiletype html template syntax=htmldjango autocmd BufRead,BufNewFile *.iced setfiletype icedcoffee syntax=coffee autocmd BufRead,BufNewFile *.go setfiletype golang syntax=go endif au GUIEnter * set vb t_vb= " Strip trailing whitespace (,ss) function! StripWhitespace() let save_cursor = getpos(".") let old_query = getreg('/') :%s/\s\+$//e call setpos('.', save_cursor) call setreg('/', old_query) endfunction noremap ss :call StripWhitespace() if has('gui_running') set go =mt set guifont=Liberation\ Mono\ for\ Powerline:h12,Liberation_Mono_for_Powerline:h12,Inconsolata\ for\ Powerline:h10,Ubuntu\ Mono:h26,Consolas:h12,Courier:h12 endif let g:ruby_path = ':C:\ruby193\bin'