You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

177 lines
4.0 KiB

set encoding=utf-8
set fileencoding=utf-8
set nocompatible
filetype off
" set the runtime path to include vundle and initialize
" *nix
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" Solarized theme
" Plugin 'altercation/vim-colors-solarized'
" Nord theme
Plug 'arcticicestudio/nord-vim'
" Syntastic
Plugin 'scrooloose/syntastic'
" Git
Plugin 'tpope/vim-fugitive'
" Easy Commenting
Plugin 'tpope/vim-commentary'
" Surround - Easy changing of quotes and stuff
Plugin 'tpope/vim-surround'
" Ctrlp full path fuzzy file finder
Plugin 'kien/ctrlp.vim'
" Ack from vim
Plugin 'mileszs/ack.vim'
" Improved vim status bar
Plugin 'bling/vim-airline'
" Indent guides
Plugin 'Yggdroot/indentLine'
" Language specific syntax highlighting
Plugin 'derekwyatt/vim-scala'
Plugin 'kchmck/vim-coffee-script'
Plugin 'rust-lang/rust.vim'
if !has("win32") || !has("win16")
"Code Completion
Plugin 'Valloric/YouCompleteMe'
" Tree explorer
"Instead of forcing vim to start Nerdtree just do it manually
" autocmd vimenter * NERDTree " make NERDTree come up automatically
" on vim start
Plugin 'scrooloose/nerdtree'
" Make Vim play nice with tmux
" Use <c-h> <c-j> <c-k> <c-l>
" to move between window panes in tmux or vim
Plugin 'christoomey/vim-tmux-navigator'
endif
" Markdown
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
" Jade - Express templating
Plugin 'digitaltoad/vim-jade'
" Stylus highlighting
Plugin 'wavded/vim-stylus'
" Haskell
Plugin 'raichoo/haskell-vim'
" end plugin list
call vundle#end()
filetype plugin indent on
" Solarized Dark
syntax enable
set background=dark
colorscheme solarized
" let g:solarized_termcolors=256 " Better terminal colors
" Toggle solarized scheme
" call togglebg#map("<F5>")
" Standard variables
set expandtab " tabs to spaces
set tabstop=2 " spaces entered when tab key is pressed
set shiftwidth=2 " spaces entered for indentation
set number " Line numbering
set backspace=indent,eol,start " Make backspacing work right
set clipboard=unnamedplus " Share system clipboard
set eol " End of line at bottom of file
set shiftround
set hlsearch " Highlight matches in search
set incsearch " Search as characters are entered
set list
set list listchars=tab:»·,trail
" custom functons
function! NumberToggle()
if(&relativenumber == 1)
set norelativenumber
set number
else
set relativenumber
endif
endfunc
" Autocmds
" Stripping trailing whitespace on save
autocmd BufWritePre * :%s/\s\+$//e
" Fix rust
autocmd FileType rust setlocal shiftwidth=2 tabstop=2
autocmd BufRead,BufNewFile *.rs set filetype=rust
" Disable the rust style guide recommended 4 space indentation
let g:rust_recommended_style=0
" Hotkeys
" Note noremap is a normal mode non-recursive mapping
" nnoremap and nmap make the bind only work in normal mode
let mapleader=" "
map <silent> <Leader>t :NERDTreeToggle<CR>
nnoremap <silent> <Leader>r :call NumberToggle()<CR>
" This one maps F5 to delete all trailing whitespace
nnoremap <silent> <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>
" Pressing enter in command mode clears the current search highlighting until
" the next search.
nnoremap <silent> <CR> :noh<CR><CR>
" ctrlp hotkeys
let g:ctrlp_map='<c-p>'
let g:ctrlp_cmd='CtrlP'
" ctrlp configuration
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows
let g:ctrlp_working_path_mode='ra'
" Highlight any line with ErrorMsg that goes over 120 characters
if exists('+colorcolumn')
set colorcolumn=120
else
au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
endif
" Indent lines customizations
" Color customizations
" let g:indentLine_color_term=###
" Line indent guides are defaulted to off
let g:indentLine_enabled=0
" Leader + i will toggle line indent guides
map <silent> <Leader>i :IndentLinesToggle<CR>